正则表达式
作者:互联网
正则表达式
语法
普通字符
对大小写字母、数字、标点符号的匹配。
表达式 | 说明 |
---|---|
[abc] |
匹配[] 中的所有字符 |
[^abc] |
匹配除了[] 中的所有字符 |
[a-c] |
匹配区间内的所有字符 |
. |
[^\n\r] |
\s |
匹配空白符,包括换行 |
\S |
匹配非空白符,不包括换行 |
\w |
[A-Za-z0-9_] |
限定符
指定正则表达式中给定组件出现的次数。
表达式 | 说明 |
---|---|
a{n} |
匹配连续的两个a |
a{n, } |
匹配至少n 个a |
a{m, n} |
匹配至少m 个,至多n 个a |
a* |
a{0, } |
a+ |
a{1, } |
? |
a{0, 1} |
其中
*、+
尽可能匹配最多字符,可以在他们后面加上?
实现最小匹配。
定位符
表达式 | 说明 |
---|---|
^ |
字符串的开始位置 |
$ |
字符串的结束位置 |
\b |
匹配单词边界的字符 |
\B |
匹配非单词边界的字符 |
定位符不能与限定符一起使用
修饰符
/pattern/flags
修饰符 | 说明 |
---|---|
/i |
不区分大小写 |
/g |
匹配所有 |
/m |
多行匹配 |
特殊字符
正则表达式的功能字符在匹配时前面加上\
转义。
选择
用()
将所有选择项括起来,相邻的选择项用|
分割。
?=、?<=、?!、?<!
的区别
exp1(?=exp2) # 查找exp2前面的exp1
exp1(?!exp2) # 查找后面不是exp2的exp1
(?<=exp2)exp1 # 查找exp2后面的exp1
(?<=exp2)exp1 # 查找前面不是exp2的exp1
优先级
运算符 | 说明 |
---|---|
\ |
转义符 |
()、[] |
括号 |
*、+、?、{n}… |
限定符 |
^、$、\ |
其它元字符 |
标签:字符,匹配,正则表达式,exp2,exp1,限定符 来源: https://www.cnblogs.com/euler0525/p/16619427.html