元字符:
\b:代表单词的开头或结尾,也就是单词的分界处。只匹配一个位置。
*:代表的不是字符,也不是位置,而是数量,指定*前面的内容可以连续重复只用任意次数以使整个表达式得到匹配。
.*:连在一起意味着任意数量的不包含换行的字符。
\d:匹配一个数字。
-:不是元字符,只匹配它本身,减号,中横线。
\d{8}:表示\d必须连续重复匹配8次。
\s:匹配任意的空白符,包括空格,制表符(tab),换行符,中文全角空格等。
\w:匹配字母或数字或下划线或汉字等。
\d+:匹配1个或更多连续的数字,这里的+和*类似,+表示重复的次数是1次或更多次;*表示匹配的次数为任意次,可能为0次。
\b\w{6}\b:匹配刚好6个字符的单词。
. :匹配除换行符以外的任意字符。
\w:匹配字母或数字或下划线或汉字。
\s:匹配任意的空白符。
\b:匹配单词的开始或结束。
^:匹配字符串的开始。
$:匹配字符串的结束。
如果一个网站要求填写5到12位的QQ号:可以使用 ^\d{5,12}$。即:匹配的次数不能少于5次,不能够多余12次,否则都不匹配。如果没有^和$,即对于\d{5,12},只能够 保证字符串里包含5到12位连续的数字,而不是整个字符串就是5到12位数字。
字符转移:如果有时候要查找.或者*,可以使用\来取消这些字符的特殊意义,因此可以使用\.和\*,查找\本身,得使用\\。
重复的表示:
*:重复零次或更多次。
+:重复一次或者更多次。
?:重复零次或1次。
{n}:重复n次。
{n,}:重复n次或者更多次。
{n,m}:重复n到m次。
匹配没预定义元字符的字符集合,比如元音字符a,e,i,o,u,使用[];
[aeIoU]:就匹配任意一个英文元音字母。[.?!]:匹配标点符号.或?或!。[]表示匹配其中内容的任意一个。
[0-9]:代表的含义和\d是一样的,匹配一位数字。[a-z0-9A-Z]的含义等同于\w(如果只考虑英文的话)。
\(?0\d{2}[) -]?\d{8}:\(转义元字符(为普通字符(,(字符出现0次或1次。\d,数字出现2次,[) -]?表示)或空格或-出现零次或者1次,然后连续8个数字。
http://www.jb51.net/tools/zhengze.html