正则表达式


正则表达式

语法

普通字符

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

表达式 说明
[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}… 限定符
^、$、/ 其它元字符

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/281966.html

(0)
上一篇 2022年8月24日
下一篇 2022年8月24日

相关推荐

发表回复

登录后才能评论