正则表达式在线网站:
目录
一、常用元字符
^ | 匹配输入字符串的开始位置。 |
\ | 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 |
$ | 匹配输入字符串的结束位置 |
* | 匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,} |
+ | 匹配前面的子表达式一次或多次。例如,'zo+' 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 |
? | 匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。? 等价于 {0,1}。 |
{n} | n 是一个非负整数。匹配确定的 n 次。例如,'o{2}' 不能匹配 "Bob" 中的 'o',但是能匹配 "food" 中的两个 o。 |
{n,m} | 例如正则 "a{3,4}" 将a重复匹配3次或者4次 所以供匹配的字符可以是三个"aaa"也可以是四个"aaaa" 正则都可以匹配到 |
{n,} | 与{n,m}不同之处就在于匹配的次数将没有上限,但至少要重复n次 如 正则"a{3,}" a至少要重复3次 |
\w | 匹配字母或数字或下划线,等价于 [A-Za-z0-9_] |
\d | 匹配数字,相当于[0-9] |
\b | 匹配一个单词边界,即字与空格间的位置 |
| | 指明两项之间的一个选择。 |
. | 匹配除了换行符以外的任何字符 |
( ) | 标记一个子表达式的开始和结束位置 |
\t | 匹配一个制表符 |
\r | 匹配一个回车符 |
\n | 匹配一个换行符。 |
\f | 匹配一个换页符。 |
\s | 匹配所有空白符,包括换行 |
二、反向字符
\S | 匹配任意不是空白符的字符 |
\W | 匹配任意不是字母,数字,下划线 的字符 |
\D | 匹配任意 不是数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^abc] | 匹配除了abc以外的任意字符 |
三、修饰符
i | ignore - 不区分大小写 | 将匹配设置为不区分大小写,搜索时不区分大小写: A 和 a 没有区别。 |
g | global - 全局匹配 | 查找所有的匹配项。 |
m | more - 多行匹配 | 使边界字符 ^ 和 $ 匹配每一行的开头和结尾,记住是多行,而不是整个字符串的开头和结尾。 |
s | 特殊字符圆点 . 中包含换行符 \n | 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。 |
四、优先级
\ | 转义符 |
(), (?:), (?=), [] | 圆括号和方括号 |
*, +, ?, {n}, {n,}, {n,m} | 限定符 |
^, $, \任何元字符、任何字符 | 定位点和序列(即:位置和顺序) |
| | 替换,"或"操作 字符具有高于替换运算符的优先级,使得"m|food"匹配"m"或"food"。若要匹配"mood"或"food",请使用括号创建子表达式,从而产生"(m|f)ood"。 |