正则总结

本文深入浅出地介绍了正则表达式的各个核心概念,包括元字符、分组、范围、字符组等,并通过实例展示了如何利用正则表达式进行复杂匹配。此外,还详细阐述了反向引用、零宽断言和懒惰匹配等高级特性,旨在帮助读者掌握正则表达式,提升文本处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 元字符
^    开始       ^cat   表示只匹配以cat为开头的
$    结束       cat$   表示只匹配以cat为结束的
-    范围    a-z
[]    字符组    匹配中括号中的任意内容  [ab]类似(a|b) 但是字符组只能匹配一个
()    分组     可以捕获匹配的内容  如果需要替换操作 则必须使用
(?:)    非捕捉分组    不会捕捉分组的内容
[^ ]    排除中括号中的内容
.    匹配任何单个字符 除换行
?    可选项    表示可以出现0次或一次  colou?r 可以匹配color和colour
+    和?很像  表示出现至少一次
*    永远不会匹配失败 可以出现任意多次 即使没有
{}    重复次数  {1,5}  [1,5]闭区间
占有量词 数量词? + * {}后加+    如X?+   不会回溯 效率高一点
懒惰匹配            ?    如X??         默认为贪心   都有回溯
\d     [0-9]        \D 取非
\w    [a-zA-Z0-9]      \W
\s    [.\f\n\r\t\v] 空白字符
\b    单词边界
/i    不区分大小写
/s  /m  单行匹配 多行匹配
2 反向引用
([ab])\1   如果分组中匹配成功 将捕获匹配的内容替代\1
3 零宽断言
(?<=<a>)\w+(?=</a>)
<a>cat</a>
(?<=<a>)会匹配到<a> 然后从下一个位置c开始匹配\w+
(?=</a>)会匹配到</a> 然后在t结束
得到的结果就是cat
如果在不支持断言的情况
(<br>)(\w+)(?=</br>)
将得到<br>和cat  


<经典表达式经典实例><精通正则表达式> 两本一起看比较好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值