正则表达式

正则表达式简单的规则:

形式

字符范围

\xXX

编号在 0 ~ 255 范围的字符,比如:空格可以使用 “\x20” 表示

\uXXXX

任何字符可以使用 “\u” 再加上其编号的4位十六进制数表示,比如:“\u4E2D”

在表达式 “\s”,”\d”,”\w”,”\b” 表示特殊意义的同时,对应的大写字母表示相反的意义

        <table style="border-collapse: collapse;" bgcolor="#f8f8f8" border="1" cellpadding="3" cellspacing="0">
          <tbody><tr bgcolor="#f0f0f0">
            <td width="55">

表达式

可匹配

\S

匹配所有非空白字符(”\s” 可匹配各个空白字符)

\D

匹配所有的非数字字符

\W

匹配所有的字母、数字、下划线以外的字符

\B

匹配非单词边界,即左右两边都是 “\w” 范围或者左右两边都不是 “\w” 范围时的字符缝隙

 在表达式中有特殊意义,需要添加 “" 才能匹配该字符本身的字符汇总

        <table style="border-collapse: collapse;" bgcolor="#f8f8f8" border="1" cellpadding="3" cellspacing="0">
          <tbody><tr bgcolor="#f0f0f0">
            <td width="55">

字符

说明

^

匹配输入字符串的开始位置。要匹配 “^” 字符本身,请使用 “^“

$

匹配输入字符串的结尾位置。要匹配 “$” 字符本身,请使用 “$“

( )

标记一个子表达式的开始和结束位置。要匹配小括号,请使用 “(“ 和 “)“

[ ]

用来自定义能够匹配 ‘多种字符’ 的表达式。要匹配中括号,请使用 “[“ 和 “]“

{ }

修饰匹配次数的符号。要匹配大括号,请使用 “{“ 和 “}“

.

匹配除了换行符(\n)以外的任意一个字符。要匹配小数点本身,请使用 “.“

?

修饰匹配次数为 0 次或 1 次。要匹配 “?” 字符本身,请使用 “?“

修饰匹配次数为至少 1 次。要匹配 “+” 字符本身,请使用 “+“

修饰匹配次数为 0 次或任意次。要匹配 “*” 字符本身,请使用 “*“

|

左右两边表达式之间 “或” 关系。匹配 “|” 本身,请使用 “|“

 括号 “( )” 内的子表达式,如果希望匹配结果不进行记录供以后使用,可以使用 “(?:xxxxx)” 格式

    举例1:表达式 “(?:(\w)\1)+“ 匹配 “a bbccdd efg” 时,结果是 “bbccdd”。括号 “(?:)” 范围的匹配结果不进行记录,因此 “(\w)” 使用 “\1” 来引用。

参考网站:

http://deerchao.net/tutorials/regex/regex.htm

http://www.regexlab.com/zh/regref.htm