正则匹配规则总结
今天学习了正则表达式的匹配规则简单总结一下今天学习的内容。
匹配规则
单字符匹配
x : 匹配x字符
[abc] :匹配a,b,c任意一个字符
[0-9] :匹配任意一个数字
[a-z] :匹配任意一个小写字母
[A-Z] :匹配任意一个大写字母
[a-zA-Z] :匹配任意一个字母
[a-zA-Z0-9] :匹配任意一个字母.数字和下划线_
[^0-9] :匹配任意一个非数字
元字符
\d :等价于[0-9]
\D :等价于[^0-9]
\w :等价于[a-zA-Z0-9_]
\W :对\w取反
\s :匹配任意一个空白字符,包括空格 制表符 换行符等
\S :匹配任意一个非空白字符
点子符
. (dot) :匹配除换行符以外的任意一个字符
. :匹配一个点.
多字符匹配
x{m} :匹配m次x匹配的内容
x{m,} :匹配至少m次x匹配的内容
x{m,n} :匹配至少m次,至多n次x匹配的内容 ps:m <= n
贪婪表达式
尽可能多的去匹配内容, 贪婪式表达式优先进行匹配, 后面的表达式再进行匹配
x* :x匹配的内容至少出现 0 次,等价于x{0,}
x+ :x匹配的内容至少出现 1 次,等价于x{1,}
x? :x匹配的内容最多出现 1 次,等价于x{0,1}
非贪婪表达式
尽可能少的去匹配内容,贪婪时后面的表达式优先进行匹配,苒后非贪婪式在进行匹配
x*? :x匹配的内容至少出现0次 , 等价于x{0,}
x+? : x匹配的内容至少出现1次 , 等价于x{1,}
x?? : x匹配的内容至多出现1次 , 等价于x{0,1}
限定符
^ : 出现在正则的头部,代表以…开头
$ :出现在正则的尾部,代表为…结尾
分组
() :可以给正则表达式,添加小括号,形成子表达式
(?: ) :非捕获分组,一旦一个分组中 添加了 ?: 则该括号不在计算为组
\n : n代表一个数组,引用分组的主要作用是用来匹配he指定组完全相同的内容
选择
| :或的意思
断言
(?=) :正向确定断言,代表:正则表达式匹配的内容,后面一定满足某个条件
(?<=) : 反向确定断言,代表:断言正则表示匹配的内容 前面一定满足某个条件
(?!) :正向否定断言,代表:断言正则表达式匹配的内容 后面一定不满足某个条件
(?<!) :反向否定断言,代表:断言正则表示匹配的内容 前面一定不满足某个条件
总结
正则表达式是一个非常重要的东西,但也非常不简单,想要精通任重道远.