常用正则表达式

^ 指定是否匹配一个字符串或一行的首字符
$指定是否匹配一个字符串或一行的尾字符
\A指定匹配必须从一个字符串或一行的首字符开始
\Z指定匹配必须以一个字符串或一行的尾字符结束(不包括‘\n’字符)
\z指定匹配必须以一个字符串或一行的尾字符结束
\b 匹配一个单词的边界。
 \B 匹配一个单词的非边界位置,不在一个单词的开始
\a 警告字符
\t 匹配tab字符.
\r 匹配return字符.
\n 匹配换行符号.
\040 匹配三位8进制数表示的ascii字符
\x20 匹配两位16进制数表示的ascii字符
\cC 匹配ascii控制字符 例\cC is control-C.
\u0020 匹配四位16进制数表示的Unicode字符
{n}匹配前面的字符n次,例x{2}匹配xx,不匹配x,xxx.
{n,}匹配前面的字符n次或更多.例x{2,}匹配xx,xxx,xxxx…
{n,m}匹配前面的字符最少n次,最多m次。例如:x{2,4}匹配xx,xxx,xxxx,不匹配x,xxxxx.
?匹配前面的字符0次或1次,例x?匹配0个或者1个x.
+匹配前面的字符1次或多次,例x+匹配1个或者多个x.
* 匹配前面的字符0次或多次,例x*匹配0个或者多个x.
x|y匹配x或者y
.匹配单个字符(除了\n)
\d 0~9的任意数字
\D 非数字字符
\s 任一空白字符
\S 任一非空白字符
\w 任一单词字符"[A–Za–z0–9_]
\W 任一非单词字符


限定符 说明
* 指定零个或更多个匹配;例如 \w* 或 (abc)*。等效于 {0,}。
+ 指定一个或多个匹配;例如 \w+ 或 (abc)+。等效于 {1,}。
? 指定零个或一个匹配;例如 \w? 或 (abc)?。等效于 {0,1}。
{ n } 指定恰好 n 个匹配;例如 (pizza){2}。
{ n ,} 指定至少 n 个匹配;例如 (abc){2,}。
{ n , m } 指定至少 n 个但不多于 m 个匹配。
*? 指定尽可能少地使用重复的第一个匹配(等效于 lazy *)。
+? 指定尽可能少地使用重复但至少使用一次(等效于 lazy +)。
?? 指定使用零次重复(如有可能)或一次重复 (lazy ?)。
{ n }? 等效于 {n} (lazy {n})。
{ n ,}? 指定尽可能少地使用重复但至少使用 n 次 (lazy {n,})。
{ n , m }? 指定介于 n 次和 m 次之间、尽可能少地使用重复 (lazy {n,m})。

大多数重要的正则表达式语言运算符都是非转义的单个字符。转义符 \(单个反斜杠)通知正则表达式分析器反斜杠后面的字符不是运算符。
一般字符 除 .$ ^ { [ ( | ) * + ? \ 外,其他字符与自身匹配。
\a 与响铃(警报)\u0007 匹配。
\t 与 Tab 符 \u0009 匹配。
\r 与回车符 \u000D 匹配。
\v 与垂直 Tab 符 \u000B 匹配。
\f 与换页符 \u000C 匹配。
\n 与换行符 \u000A 匹配。
\e 与 Esc 符 \u001B 匹配。
\040 将 ASCII 字符匹配为八进制数(最多三位);如果没有前导零的数字只有一位数或者与捕获组号相对应,则该数字为后向引用。例如,字符 \040 表示空格。
\x20 使用十六进制表示形式(恰好两位)与 ASCII 字符匹配。
\cC 与 ASCII 控制字符匹配;例如,\cC 为 Ctrl-C。
\u0020 使用十六进制表示形式(恰好四位)与 Unicode 字符匹配。

posted @ 2009-09-23 11:34  书奎  阅读(228)  评论(0编辑  收藏  举报