在线调试网站
https://regexr.com/41t3g
原子
1.常用不可见原子
\n回撤,\t制表符,\s空格
- 通用字符
\d 匹配任意一个数字
\D匹配任意一个非数字
\w匹配任意一个数字字母下划线
\W匹配任意一个非数字字母下划线
\S匹配任意一个非空白字符 - 自定义原子
使用 [] 可以匹配方括号内的任意一个字符
[-] 范围 例:[a-z]匹配a-z中的所有字符
[^] 取反 例:[^a-c]匹配a-c以外的任意一个字符
元字符
- . 匹配除了换行以外的任意字符
- | 匹配多个分支选择 例如:[(php)|(html)]可以匹配php和html
边界限制
^匹配一行的开头
$匹配一行的结尾
\b单词边界(只对英语有用)
量词
*重复0次或者多次
+重读一次或者多次
?重复0次或者一次
{n}重复n次
{n,}重复n次或更多次
{n,m}重复n到m次
静止贪婪
例子:jianshu_fasd123123123
需要匹配jianshu_fasd123
可以使用/jianshu.?123/
或者/jianshu.123/U
U和?不能同时使用
模式单元
- 反向引用 +索引
需要匹配“好好学习,天天向上”中的叠词可以使用/\u4e00-\u9fa5]\1/
非捕获元字符“?:” - 模式修正符(跟在正则表达式的最后)
U禁止贪婪
i 不区分大小写
x 忽略空格
s将字符串视为单行,"."也能匹配换行
m将字符串视为多行,"^,$"匹配行首行尾