目录
\W匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。(W大写)
实战网址
可到一下两个网站进行实战训练。
regex101: build, test, and debug regex
正则表达式在线测试 | 菜鸟工具可到菜鸟中查看一些常用的正则表达式
修饰符
正则表达式中常用的模式修正符有i、g、m、s、U、x、a、D、e 等。它们之间可以组合搭配使用。
i 不区分(ignore)大小写;
g 全局(global)匹配 如果不带g,正则过程中字符串从左到右匹配,找到第一个符合条件的即匹配成功,返回 如果带g,则字符串从左到右,找到每个符合条件的都记录下来,知道字符串结尾位置
m 多(more)行匹配 若存在换行\n并且有开始^或结束$符的情况下,和g一起使用实现全局匹配, 因为存在换行时默认会把换行符作为一个字符任务匹配字符串是个单行, g只匹配第一行,添加m之后实现多行,每个换行符之后就是开始
s 特殊字符圆点 . 中包含换行符 默认的圆点 . 是 匹配除换行符 \n 之外的任何单字符,加上s之后, . 中包含换行符
U 只匹配最近的一个字符串;不重复匹配;
匹配字符
无颜色:未匹配到的字符串 有颜色:匹配到的字符串
?表示出现一次或0次
例 used?d 表示d出现一次或者没有
![](https://i-blog.csdnimg.cn/blog_migrate/b153e897642481dfb4acd4cdf8661387.png)
* *符号前字符出现0次或者多次
例 ab*c 表示b出现多次或者0次
![](https://i-blog.csdnimg.cn/blog_migrate/392300a479a4a31cb915d2e807f5352a.png)
+ +符号前必须出现1次或者多次
例ab?c 表示b必须出现多次或1次
{n,m}且满足(n<m,n,m均为正整数)
ab{n,m}c 表示b出现n-m次
ab{2}c 表示b出现n次
ab{2,}c 表示b出现n次以上及
![](https://i-blog.csdnimg.cn/blog_migrate/c3ebfcc76b330089165df4c23c405b91.png)
(ab)匹配出现ab的字符串
![](https://i-blog.csdnimg.cn/blog_migrate/c05bc06f3406c8009e6ccb6e6478bfcd.png)
(ab|bb)匹配aab或abb
![](https://i-blog.csdnimg.cn/blog_migrate/8ef2c7ed8d55717e32544b5c22b7a164.png)
[0-9]匹配0-9的数字
![](https://i-blog.csdnimg.cn/blog_migrate/c3ec484f34e20967ec9bb343b1c2fe10.png)
[a-z]匹配a-z的字符
![](https://i-blog.csdnimg.cn/blog_migrate/7cb454f4985a1e7a53ab19d8e48de938.png)
[A-Z]匹配A-Z的数字
[^0-9]匹配非0-9的字符
![](https://i-blog.csdnimg.cn/blog_migrate/8a0bb1087251edf25ccb8a8fcfe258b3.png)
[^a-z]匹配非a-z的字符
![](https://i-blog.csdnimg.cn/blog_migrate/6204a55af496c9ebb442dfcaf1585761.png)
[^A-Z]匹配非A-Z的字符
\d表示数字字符等同于[0-9]
![](https://i-blog.csdnimg.cn/blog_migrate/2d5fb957f8f9dae1fa9a3fae8f182237.png)
\w表示单词数字以及下滑线(w小写)
![](https://i-blog.csdnimg.cn/blog_migrate/ea87aaa3a5e95e9ebd84ccc73306c850.png)
\s表示空白符Tab和换行符
![](https://i-blog.csdnimg.cn/blog_migrate/3a8d40abbde080e844b2949a49861d5b.png)
\D表示非数字字符
![](https://i-blog.csdnimg.cn/blog_migrate/74fbff98796825cb16a5d45aefbe14a6.png)
\W匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。(W大写)
\S表示非空白字符(S大写)
.表示任意字符不表示换行符
![](https://i-blog.csdnimg.cn/blog_migrate/04e345b15990679ec6a3f2940ce637f7.png)
^匹配行首
例^a匹配行首的a
![](https://i-blog.csdnimg.cn/blog_migrate/c1d34a2396581d9897d12e9b800f31b8.png)
¥匹配行尾
例b$匹配行尾的b
\
将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。
一些常用正则
网址:
[http://|ftp://|https://|www]?[^\u4e00-\u9fa5\s]*?\.[com|net|cn|me|tw|fr][^\u4e00-\u9fa5\s]*