正则表达式的测试工具
(1)推荐RegexBuddy:http://www.regexbuddy.com/
(2)RegExBuilder:http://www.redfernplace.com/software-projects/regex-builder/
(3)在线测试工具:http://tool.chinaz.com/regex/
常用元字符
代码 | 说明 |
---|---|
. | 匹配除换行符以外的任意字符 |
\w | 匹配字母或数字或下划线 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
$ | 匹配字符串的结束 |
()RegexBu
常用限定符
代码/语法 | 说明 |
---|---|
* | 重复零次或更多次 |
+ | 重复一次或更多次 |
? | 重复零次或一次 |
{n} | 重复n次 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
dd
常用反义词
代码/语法 | 说明 |
---|---|
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
常用转义
转义字符需要使用\。
(1)\. 表示匹配点.。
(2)\* 表示匹配星号*。
(3)\?表示匹配问号?。
重复模式
语法 | 说明 |
* | 重复零次或更多次 |
+ | 重复一次或更多次,如1+表示可以1后面至少出现一次1。 |
? | 重复零次或一次,如121?表示第一个位置是1,第二个位置是2,第三个位置可以是1也可以不是1。 |
{n} | 重复n次,如\d{2}表示两个连续数字 |
{n,} | 重复n次或更多次 |
{n,m} | 重复n到m次 |
正则表达式中的贪婪与懒惰
语法 | 说明 |
*? | 重复任意次,但尽可能少重复。 |
*+ | 重复1次或更多次,但尽可能少重复。 |
?? | 重复0次或1次,但尽可能少重复。 |
{n,m}? | 重复n到m次,但尽可能少重复。 |
{n,}? | 重复n次以上,但尽可能少重复。 |