反斜杠(\)特殊字符
\w 表示十进制数字或字母
\s 表示空格字符
\d 表示十进制数字的字符
大写w s d表示相反的匹配
\W表示非十进制数字或字母
\S表示非空格字符
\D表示非十进制数字的字符
闭包“贪婪”匹配
闭包匹配时,正则表达式引擎默认匹配尽量多的匹配(贪婪匹配)。
如果问号紧跟在任何使用闭合操作符的匹配后面,它将直接要求正则表达式引擎匹配尽可能少的次数。
使用圆括号对正则表达式分组
使用圆括号的案例:
\d+(\.\d+)?# 匹配整数或浮点数
# 圆括号不是闭包!
扩展表示法
以问号(?)开头的特殊分组
(?:\w+\.) # "?:" 该组会进行匹配,但不会被保存
(?#comment) # "?#" 表示注释,忽略该组
(?=.com)
(?!.net)
# 这两组表示字符串后面有.com 没有.net
(?<=www.)
(?<!ngrok.)
#这两组表示字符串前面有www. 没有ngrok.
(?(1)y|x) #如果一个匹配组(\1)存在则匹配y,否则匹配x