正则表达式-语法

普通字符

字符 描述
[ABC] 匹配[…]中的所有字符,例如 [aeiou] 匹配字符串 “google runoob taobao” 中所有的 e o u a 字母
[^ABC] 匹配除了[…]中字符的所有字符
[A-Z] [A-Z]表示一个区间,匹配所有大写字母,[a-z]表示匹配所有小写字母
/w 匹配数字、字母、下划线,等价于[A-Za-z0-9_]
[\s\S] \s匹配所有空白符,包括换行,\S匹配所有非空白符,不包括换行

特殊字符

特殊字符 描述
$ 匹配输入字符的结尾位置
() 标记一个子表达式开始和结束的位置
* 匹配前面的子表达式零次或者多次
+ 匹配前面的子表达式一次或者多次
^ 匹配输入字符串开始的位置
{ 标志限定符表达式的开始

限定符
限定符用来指定表达式的一个给定组件必需要出现多少次才能满足匹配

字符 描述
* 匹配前面子表达式零次或者多次
+ 匹配前面子表达式一次或者多次
匹配前面子表达式零次或者一次
{n} n 是一个非负整数。匹配确定的 n 次。例如,‘o{2}’ 不能匹配 “Bob” 中的 ‘o’,但是能匹配 “food” 中的两个 o。
{n,} n 是一个非负整数。至少匹配n 次。例如,‘o{2,}’ 不能匹配 “Bob” 中的 ‘o’,但能匹配 “foooood” 中的所有 o。‘o{1,}’ 等价于 ‘o+’。‘o{0,}’ 则等价于 ‘o*’。
{n,m} m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,“o{1,3}” 将匹配 “fooooood” 中的前三个 o。‘o{0,1}’ 等价于 ‘o?’。请注意在逗号和两个数之间不能有空格。