正则表达式
2019-02-26 19:36:11 46 举报
AI智能生成
正则表达式总结
作者其他创作
大纲/内容
元字符
转义字符
\
取消元字符的特殊意义
分支条件
|
从左到右,匹配第一个满足的模式
边界限制
\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束
限定符
*
重复零次或更多次
+
重复一次或更多次
?
重复零次或一次
{n}
重复n次
{n,}
重复n次或更多次
{n,m}
重复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到m次,但尽可能少重复
{n,}?
重复n次以上,但尽可能少重复
贪婪与懒惰
懒惰匹配
匹配尽可能少的字符
贪婪匹配
匹配尽可能多的字符
定界符
正则表达式的边界
必须成对出现
除了字母、数字和 \ 以外的任何字符,一般用 /
模式修正符
i:忽略大小写
匹配时不区分大小写
m:多行模式
更改^和$的含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配
s:单行模式
更改.的含义,使它与每一个字符匹配(包括换行符\n)
x:忽略空白
忽略表达式中的非转义空白并启用由#标记的注释
其它
原子
最基本的组成单元,每个模式最少包含一个原子
普通字符:a-z、A-Z、0-9
转义后元字符:\?、\+、\. 等
通用字符类型:\d、\D、\w 等
非打印字符:\f、\n、\r、\t、\v、\cx
0 条评论
下一页