与字符串开始的地方匹配
$
与字符串结束的地方匹配
\b
匹配一个单词的边界,当前位置前面的字符和后面的字符不全是\w
预搜索(零宽断言、环视)
零宽:匹配的不是字符而是位置,符合某种条件的位置
(?=exp)
断言自身出现的位置的后面能匹配表达式exp
(?!exp)
断言自身出现的位置的后面不能匹配表达式exp
(?<=exp)
断言自身出现的位置的前面能匹配表达式exp
(?<!exp)
断言自身出现的位置的前面不能匹配表达式exp
匹配模式
对文本的处理方式
IGNORECASE 忽略大小写模式
匹配时忽略大小写
默认是区分大小写的
SINGLELINE 单行模式
整个文本看作一个字符串,只有一个开头一个结尾
使小数点"."可以匹配包含换行符(\n)在内的任意字符
MULTILINE 多行模式
每行都是一个字符串
在多行模式下,如果需要仅匹配字符串开始和结束位置,可以使用\A和\Z
选择符和分组
分支结构、捕获组合非捕获组
| 分支结构
左右表达式之间“或”关系,匹配左边或右边
( ) 捕获组
(1)、在被修饰匹配次数的时候,括号中的表达式可以作为整体被修饰
(2)、取匹配结果的时候,括号中的表达式匹配到的内容可以被单独得到
(3)、每一对括号会分配一个编号,使用()的捕获根据左括号的顺序从1开始自动编号。捕获编号为零的第一个捕获是整个正则表达式模式匹配的文本
反向引用:通过反向引用,可以对分组已捕获的字符串进行引用。
(?:Expression) 非捕获组
一些表达式中,不得不使用(),但又不需要保存()中子表达式匹配的内容,这时可以用非捕获组来抵消()带来的副作用。
本文均为荣益互联摘自权威资料,书籍,文章,或来自网络,如有版权纠纷或违规问题,请联系我们删除。我们欢迎您的分享,谢绝直接抄袭复制。感谢…