正则表达式备忘录
1)
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配任意的数字,例如:\d{2}表示前面的数字连续出现2次,即2个数字。
\b 匹配单词的开始或结束,也就是单词的分界处,它只匹配一个字符位置。
^ 匹配字符串的开始
$ 匹配字符串的结束
2)
* 表匹配次数的符号。重复零次或更多次 它代表的不是字符,也不是位置,而是数量——它指定*前边的内容可以连续重复出现任 意次以使整个表达式得到匹配。
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次
3)
[] 匹配方括号里面的字符。例:[0-9]代表的含意与\d是完全一致的:即一位数字;[a-zA-Z]表任意一个英文字母。在方括号内只匹配单个字符。
4)反义
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
5)字符转义用符号“\”,例:要显示元字符.,要用\.表示。
6) | 指明两项之间的一个选择。要匹配 |,使用 \|
7)例子:
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配中国邮政编码:[1-9]\d{5}(?!\d)
匹配身份证:\d{15}|\d{18}
匹配单个字符的元字符 | ||
. | 点号 | 匹配单个任意字符 |
[…] | 字符组 | 匹配单个列出的字符 |
[^...] | 排除型字符 | 匹配单个未列出的字符 |
\char | 转义字符 | 若char是元字符,或转义序列无特殊含义时,匹配char对应的普通字符。 |
提供计数功能的元字符 | ||
? | 问号 | 允许匹配一次,但非必须 |
* | 星号 | 可以匹配任意多次,也可以不匹配 |
+ | 加号 | 至少需要匹配一次,至多可能匹配任意多次 |
{min,max} | 区间量词 | 至少要min次,至多允许max次 |
匹配位置的元字符 | ||
^ | 脱字符 | 匹配一行的开头位置 |
$ | 美元符 | 匹配一行的结束位置 |
\< | 单词分界符 | 匹配单词开始的位置 |
\> | 单词分界符 | 匹配单词结束的位置 |
其他元字符 | ||
| | 竖划线 | 匹配任意分割的表达式 |
(...) | 括号 | 限定多选结构的范围,标注量词作用的元素,为反向引用捕获文本。 |
\1\2 | 反向引用 | 匹配之前的第一,第二组括号内的表达式匹配的文本 |
最后更新:2017-04-02 06:52:11