正则表达式(初学者向)

本文面向初学者,详细介绍了正则表达式的基本概念、初级、中级和高级规则,包括代词、量词、定位词、分支条件、转义字符、分组、反义和注释等,并提供了实战教学和常见正则表达式示例。学习后能够理解并运用正则表达式进行字符串的模式匹配、校验、替换和捕获。
摘要由CSDN通过智能技术生成

摘要

本文是用于对正则表达式的初学者,帮助大家简单学习什么是正则表达式,并结合简单的例子来简单介绍正则表达式的规则。
注意本文只简单的介绍如何看懂正则表达式,并没有涉及在具体语言下的应用。

正文

1什么是正则表达式

1.1正则表达式定义

正则表达式是一种由符号和规则组成的形式语言。(形式语言是一种用简洁的、抽象的、形式化的数学公式来表达复杂语言语法的特殊语言,它只研究语言的组成规律,不涉及语义。)

1.2正则表达式用途

正则表达式就是字符串的模式匹配,常用于:

校验:检查一个字符串中是否包含指定模式的子字符串
替换:将匹配的子字符串替换为给定的新字符串
捕获:提取符合匹配模式的字符串
批量提取/替换有规律的字符串

应用场景主要有:
在各种高级的文本编辑器中的使用
在各类办公软件(Office等)中使用
各种开发语言中的使用(C#/Java/JS/Perl/PHP等等)
用户输入的合法性验证(IP地址,特殊的订单号要求等)
模板引擎的标签库开发
网络爬虫(抓取机器人)的开发
批量的文本高效处理

1.3正则表达式的表现形式

正则表达式是一个表达式,一个 表达式由若干个 pattern 组成
pattern 由符号组成,且遵循特定的规则:
Patten = 代词 + 量词 + 定位介词*
本质上,一个模式单元(pattern unit)要做的事情就是来回答: 谁 + 多少 个+ 在哪里

2正则表达式

2.1正则表达式初级篇

2.1.1 代词

代词,用来指代一个特定字符!一定要明白,代词限定了“一个”字符的范围!

常用的代词如下:

\d: 数字
\D: 非数字
\w: == [0-9a-zA-Z_] 0-9 a-z A-Z
\W: == [^0-9a-zA-Z_] 非单词字符
\s: 空格  tab 换行 中文全角空格
\S: 非空格
. 任意字符  数字也算不匹配\n
[0-9a-zA-Z_] : 字符集
[^xyz] :
[[:alpha:]] 任何字母
[[:digit:]] 任何数字
[[:alnum:]] 任何字母和数字
[[:space:]] 任何空白字符
[[:upper:]] 任何大写字母
[[:lower:]] 任何小写字母
[[:punct:]] 任何标点符号
[[:xdigit:]] 任何16进制的数字,相当于[0-9a-fA-F]

注意事项:

  1. 除了常用的代词,我们还可以自己指定具体数字或者字母
    比如^c即代表以c开头的字母
  2. (.*?)万能可以匹配所有
    常用于^c(.
    ?)c$这种形式,来校验c开题c结尾中间是任何数目的任何字母比如cdasdac
  3. 多个代词用()包起来视为一个代词
    如^(cc
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值