其他分享
首页 > 其他分享> > 正则表达式

正则表达式

作者:互联网

正则表达式

语法

普通字符

对大小写字母、数字、标点符号的匹配。

表达式 说明
[abc] 匹配[]中的所有字符
[^abc] 匹配除了[]中的所有字符
[a-c] 匹配区间内的所有字符
. [^\n\r]
\s 匹配空白符,包括换行
\S 匹配非空白符,不包括换行
\w [A-Za-z0-9_]

限定符

指定正则表达式中给定组件出现的次数。

表达式 说明
a{n} 匹配连续的两个a
a{n, } 匹配至少na
a{m, n} 匹配至少m个,至多na
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