正则表达式是对字符串操作的逻辑表示,可以用来查找匹配文本。正则表达式由一般字符和特殊字符组成,特殊字符又称为元字符,常见的元字符有:
\ 用来关闭后续字符的意义 . 匹配任何单个字符
* 匹配任意多个其前面出现的字符 ^ 在行或者字符串的起始处匹配
$ 在行或者字符串的末尾处匹配 […] 匹配方括号内的任意字符
\{n,m\} 匹配其前面出现的字符n到m次
\( \) 子模式匹配,用\n表示模式号
{n,m} 与\{ \}相同
+ 匹配前面正则表达式的一个或者多个实例
? 匹配前面正面正则表达式的零个或者一个实例
| 匹配|符号前后的正则表达式
( ) 匹配括号内部的正则表达式
[:alnum:] 用于匹配数字字符
[:alpha:] 用于匹配字母字符
[:blank:] 用于匹配空格或者tab
[:cntrl:] 用于匹配控制字符
[:digit:] 用于匹配数字字符
[:graph:] 用于匹配非空格字符
[:lower:] 用于匹配小写字符
[:print:] 用于匹配可显示的字符
[:punct:] 用于匹配标点符号
[:space:] 用于匹配空白字符
[:upper:] 用于匹配大写字母字符
[:xdigit:] 用于匹配十六进制数字
运算符的优先级为(从高到低):
[..] [==] [::] 用于排序的方括号符号
\metacharacter 转义字符
[] 方括号表达式
\(\) \digit 字表达式和后向引用
* ? + 前置字符重现的表达式
^ $ 锚点
正则表达式举例:
hello 位于一行内的hello
^hello 位于字符串首部的hello
hello$ 位于字符串尾部的hello
^hello$ 本行或者字符串仅仅包含hello
hel+o 字符串中出现hello helllo hellllo等
[Hh]ello 字符串出现Hello 或者hello
he?llo 字符串中出现hello或者hllo
h.llo 字符串中出现hello hallo等,h后要跟一个字符
hel\{2\}o 字符串出现hello
he\(l\)\1o 字符串中出现hello
匹配正整数可以用 ^[1-9]\d*$
匹配负整数可以用 ^-[1-9]\d*$
匹配邮政编码可以用 ^[1-9]\d{5}$
匹配IP地址可以用 \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}
原文:http://blog.csdn.net/u011608357/article/details/19762265