正则的一些基本语法

来源:百度文库 编辑:神马文学网 时间:2024/04/29 01:27:40
老是忘记那些符号的语义是什么,记下来以后查起来方便
1.句点符号"."
用于匹配任何字符,包括空格,Tab字符甚至换行符
正则表达式:t.n
匹配:tan,Ten,tin,ton,t n,t#n,tpn...等等
2.方括号符号"[]"
为了解决句点符号匹配范围过于广泛这一问题,你可以在方括号"[]"里面指定看来有意义的字符。此时,只有方括号里面指定的字符才参与匹配。也就是说,正则表达式"t[aeio]n"只匹配"tan","Ten","tin"和"ton".但"Toon"不匹配,因为在方括号之内你只能匹配单个字符
正则表达式:t[eaio]n
匹配:tan,Ten,tin,ton
3.或符号"|"
如果除了上面匹配的所有单词之外,你还想要匹配"toon",那么,你可以使用"|"操作符."|"操作符的基本意义就是或运算.要匹配"toon",使用"t(a|e|i|o|oo)n"正则表达式.这里不能使用方扩号,因为方括号只允许匹配单个字符;这里必须使用圆括号"()".圆括号还可以用来分组
正则表达式:t(a|e|i|o|oo)n
匹配:tan,Ten,tin,ton,toon
4.表示匹配次数的符号
* 0次或者多次
+ 1次或者多次
0次或者1次
{n} 恰好n次
{n,m} 从n次到m次
5.否符号"^"
"^"符号称为否符号.如果用在方括号内,"^"表示不想要匹配的字符.
[^X][a-z]+
正则表达式匹配所有单词,但以"X"字母开头的单词除外.
6.圆括号和空白符号"()","\s"
假设要从格式为"June 26, 1951"的生日日期中提取出月份部分,用来匹配该日期的正则表达式如下所示:
[a-z]+ \s+[0-9]{1,2},\s*[0-9]{4}
"\s"符号是空白符号,匹配所有的空白字符,包括Tab字符.
7.其它符号
为简便起见,还可以使用一些为常见正则表达式创建的快捷符号.
\d -> [0-9]
\D -> [^0-9]
\w -> [A-Z0-9]
\W -> [^A-Z0-9]
\s -> [\t\n\r\f]
\s -> [^\t\n\r\f]
http://www.javacc.com/blogview.asp?logID=31