正则表达式笔记

LonelyMan 278 2021-07-20

限定符

?

表示问号前面的一个字符可以出现0或1次,就是可有可无

*

表示星号前面的一个字符可以出现0到 无限次

+

表示加号前面的一个字符可以出现1到无限次

{...}

表示花括号前面的一个字符可以出现指定次数或范围内的次数

  • 中间填写单个数字或两个数字间添加逗号
    • {2} 出现两次
    • {2,4} 出现2-4次
    • {2,} 出现两次以上

或运算符

(...)

表示多个字符的限定

例如:(abc)+表示abc整体出现1到无数次

(...|...)

表示或匹配

字符类

[...]

表示匹配的内容只能取自于方括号内的内容,可用范围代替

例如:[a-z]表示匹配az的所有字母

^

表示匹配除尖号后字符以外的所有字符(仅在方括号内适用)

元字符

\d

表示数字字符,等同于[0-9]

\D

表示非数字字符,等同于[^0-9]

\w

表示单词字符,包含所有的英文、数字、下划线

\W

表示非单词字符

\s

表示空白符,包含Tab(制表符)及换行符

\S

表示非空白符

.

表示任意字符,但不包含换行符

^

匹配行首字符

例如:^a表示匹配行首的a

$

匹配行尾字符

例如:a$表示匹配行尾的a

\b

表示单词字符的边界

\

将后面的一个字符进行转义

例如:\.表示单纯的.而不是任意字符

贪婪懒惰

?

懒惰匹配

例如:<.+?>匹配最小范围的带尖括号内容

练习站点推荐

https://ihateregex.io/