文章目录
在线测试工具: https://regex101.com/
一、限定符
1.?
-
-
- 一、限定符
-
- 1.?
- 2.*
- 3.+
- 4.{}
- 二、或运算符
- 三、字符类
-
- 1.[]
- 2.常见字符类
- 3.^
- 四、元字符
- 五、贪婪与懒惰匹配
- 六、实例
-
- 1.RGB颜色匹配
- 2.IPV4地址匹配
-
?会去匹配0个或1个字符,表示?前面的字符可有可无。
*会去匹配0个或多个字符,表示*前面的字符可以出现0次也可以出现多次。
+会去匹配1次以上的字符,表示+前面的字符出现1次及以上。
{}可以指定字符出现的次数,表示{}前面的字符出现几次。
{}也可以指定字符出现的次数范围,中间用,隔开。
下面表示出现的次数是2次及以上。
下面表示出现的次数是6次及以下。
用()匹配多个字符。
|表示或者,在下面的例子中先去匹配a和空格,再去匹配后面的cat或者dog,如果不加括号就只能匹配出来dog了。
[]表示匹配的字符只能取自它们。
[a-z]:所有的小写英文字符。
[a-zA-Z]:所有的英文字符。
[a-zA-Z0-9]:所有的英文字符和数字。
^表示脱字符,匹配^后面列出的以外的字符。
\d 数字字符(0-9) \w 单词字符(英文+数字+下划线) \s 空白字符(tab+换行符) \D 非数字字符 \W 非单词字符 \S 非空白字符 \b 标注字符边界 . 任意字符(除换行符) ^ 匹配行首 $ 匹配行尾
贪婪匹配:尽可能多的匹配字符。
懒惰匹配:尽可能少的匹配字符。