元字符: + *
\b
代表单词的开头或者结尾
^ 匹配字符串的开头
$ 匹配字符串的结尾
. 匹配除了换行符外的任意字符
\d 匹配一位数字
\s
匹配任意的空白符,包括空格符、制表符、换行符、中文全角空格等
\w 匹配字母、数字、下划线、汉字等
字符转义:
\. 匹配"."
\\ 匹配"\"
重复:
* 重复任意次数
+ 重复1次或者更多次
? 重复0或者1次
{n} 重复n次
{n,}
重复n次或者更多次
{n,m} 重复n到m次
字符类: 匹配没有预定义的字符集合即或者的关系
[aeiou] 匹配其中的任意一个元音字母
[.?!] 匹配其中的任意一个标点符号
[0-9]
匹配0-9的任意一个数字
[a-z0-9A-Z] 匹配任意字母或者数字
\(?0\d{2}[) -]?\d{8}
匹配(010)88886666,或022-22334455,或02912345678电话号码
分支条件:
满足其中任意一种规则都应该当成匹配
\d{5}-\d{4}|\d{5} 匹配5位数字,或者用连字号间隔的9位数字
注意如果写成\d{5}|\d{5}-\d{4}则只会匹配5位的邮编(以及9位邮编的前5位)
分组:想要重复多个字符或者对字表达式进行操作
(\d{1,3}\.){3}\d{1,3}
匹配1到3位的数字和点并重复3次,最后在加上1个1到3位的数字
反义:
查找不属于某个能简单定义的字符类的字符
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S
匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x]
匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符
\S+
匹配不包含空白符的字符串。
<a[^>]+> 匹配用尖括号括起来的以a开头的字符串。
例子:
\bhi\b
匹配hi这个单词
\bhi\b.*\bluck\b 匹配单词hi后面跟着一个单词luck
0\d{2}-\d{8}
匹配0开头后面跟着两个数字然后是连接号"-",最后是8位数字
^\d{5,12}$ 匹配字符串是5到12个数字
原文:http://www.cnblogs.com/lindsayzhao103011/p/3613757.html