Regex
正则表达式快速查询
元字符
代码|含义
---|---|---
.|匹配除换行符以外的所有任意字符
\b|匹配单词的开始或结束
\w|匹配字母或数字或下划线或汉字
\d|匹配数字
^|匹配字符串的开始
$|匹配字符串的结束
[ ]|匹配字符集合的元字符
字符转义
使用转义符 \
重复匹配
代码 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
重复n次 | |
重复n次或更多次 | |
重复n到m次 |
分枝条件
使用 |
分组
使用 () 实现重复多个字符
如:(\d{1,3}.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1到3位的数字,(\d{1,3}.){3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字(\d{1,3})。
反义
代码 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
贪婪与懒惰
代码 | 说明 |
---|---|
*? | 重复任意次,但尽可能少重复 |
+? | 重复一次或更多次,但尽可能少重复 |
?? | 重复零次或一次,但尽可能少重复 |
{n}? | 重复n次,但尽可能少重复 |
{n,}? | 重复n次或更多次,但尽可能少重复 |
{n,m}? | 重复n到m次,但尽可能少重复 |