正则表达式

1、行的起始和结束

^:表示一行的开始
^cat:匹配的是以c作为一行的第一个字符,紧接着一个a,紧接一个 t 的 文本

 $:表示文本以什么结束
 

2、字符组

1)匹配若干个字符之一

gr[ae]y:先找到 g ,跟着是一个 r,然后是一个 a 或 e,最后一个 y

 
<h[1-3a-b]>:‘-’(连字符),用来表示一个范围
 

2)排除型字符组

<h[^2^4^d]>: ‘^’表示排除
 

3、用点号匹配任意字符

03.19.76:点号表示匹配任意字符
 

4、多选结构

匹配任意子表达式

|:或,依靠它,能够把不同的子表达式组成一个总的表达式,而这个总的表达式又能够匹配任意的子表达式。
Jeff(re|er)y:先匹配 Jeff 然后 是 re 或 er 最后 y
 

5、可选元素

July? (fourth|4th) :问号表示可选项,即 y 这个字符可以存在也可以不存在
 

6、其它量词:重复出现

<h1 +color *= *"red" *> : 
加号是表示加号之前的字符必须出现,并且重复无数次,这里表示 h1 后面必须有一个空格。
星号表示星号之前的字符可以不出现,但是出现必须是前面的字符并且可以出现无数次。这里表示 color 之后可以有空格并且可以有无数个,也可以没有空格


1)规定重现次数范围:区间

w{1,2}:表示w至少出现一次,最多出现2次
 
 

2)表示重复的元字符小结

  次数下限 次数上限 含义
可以不出现,也可以只出现一次(单次可选)
* 可以出现无数次,也可以不出现(任意次数均可)
+ 1 可以出现无数次,但至少要出现一次(至少一次)

7、括号及反向引用

([a-z])([1-9])\1\2 :表示第一个字符范围为 a 到 z,第二个字符范围为 1 到 9,第三个字符与第一个括号的值一样,第四个字符与第二个括号的值一样。 括号能够“记忆”其中的子表达式匹配的文本值,不论这个文本是什么,元字符列  ‘\1’ 可以记住他们。
 

8、转义

www\.baidu\.com :将元字符 点 转义为普通的字符
 

9、总结



匹配单个字符的元字符
  元字符 匹配对象
. 点号 匹配单个任意字符
[...] 字符组 匹配单个列出的字符
[^...] 排除型字符组 匹配单个列出的字符
\char 转义字符 若char是元字符,或转义序列无特殊含义时,匹配char对应的普通字符
提供计数功能的元字符
? 问号 容许匹配一次,单非必须
* 星号 可以匹配多次,也可能不匹配
+ 加号 至少需要匹配一次,至多可能任意多次
{min,max} 区间量词 至少需要min次,至多容许max次
匹配位置的元字符
^ 脱字符 匹配一行的开头位置
$ 美元符 匹配一行的结束位置
\< 单词分界符 匹配单词的开头位置
\> 单词分界符 匹配单词结束位置
其它元字符
| alternation 匹配一行的开头位置
(...) 括号 限定多选结构的范围,标注量词作用的元素,为反向引用“捕获”文本
\1,\2 反向引用 匹配之前的第一,第二组括号内的字表达式匹配的文本






  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值