正则表达式
2019-02-26 19:36:11 46 举报
AI智能生成
正则表达式总结
作者其他创作
大纲/内容
正则表达式
元字符
转义字符
\\
取消元字符的特殊意义
分支条件
|
从左到右,匹配第一个满足的模式
边界限制
\\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束
限定符
*
重复零次或更多次
+
重复一次或更多次
?
重复零次或一次
{n}
重复n次
重复n次或更多次
重复n到m次
字符集
[]
匹配括号中的任意一个原子
分组
捕获
(exp)
匹配exp,并捕获文本到自动命名的组里
(?<name>exp)
匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
不捕获
零宽断言
(?=exp)
匹配exp前面的位置
(?<=exp)
匹配exp后面的位置
负向零宽断言
(?!exp)
匹配后面跟的不是exp的位置
(?<!exp)
匹配前面不是exp的位置
(?:exp)
匹配exp,但不捕获匹配的文本,也不给此分组分配组号
注释
(?#comment)
.
匹配除换行符以外的任意字符
通用字符类型
\\w
匹配字母、数字、下划线或汉字
\\s
匹配任意的空白符
\\d
匹配数字
反义
\\W
匹配任意不是字母,数字,下划线,汉字的字符
\\S
匹配任意不是空白符的字符
\\D
匹配任意非数字的字符
\\B
匹配不是单词开头或结束的位置
[^]
匹配除方括号中的原子以外的任意一个字符
*?
重复任意次,但尽可能少重复
+?
重复1次或更多次,但尽可能少重复
??
重复0次或1次,但尽可能少重复
重复n到m次,但尽可能少重复
重复n次以上,但尽可能少重复
贪婪与懒惰
懒惰匹配
匹配尽可能少的字符
贪婪匹配
匹配尽可能多的字符
定界符
正则表达式的边界
必须成对出现
除了字母、数字和 \\ 以外的任何字符,一般用 /
模式修正符
i:忽略大小写
匹配时不区分大小写
m:多行模式
更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配
s:单行模式
更改.的含义,使它与每一个字符匹配(包括换行符\)
x:忽略空白
忽略表达式中的非转义空白并启用由#标记的注释
其它
原子
最基本的组成单元,每个模式最少包含一个原子
普通字符:a-z、A-Z、0-9
转义后元字符:\\?、\\+、\\. 等
通用字符类型:\\d、\\D、\\w 等
非打印字符:\\f、\、\、\\t、\\v、\\cx
0 条评论
回复 删除
下一页