1.量词:
一个量化元字符是由一个元字符后面紧接着一个简单的量词组成,如果没有量词,就只匹配这个元字符,量词如下:
*
匹配0个或多个元字符的序列
+
匹配1个或多个元字符的序列
?
匹配0个或1个元字符的序列
{m}
严格匹配m个元字符的序列
{m,}
匹配m个或多个元字符的序列
{m,n}
匹配m个到n个元字符的序列
*? +? ?? {m}? {m,}? {m,n}?
非贪婪量词,与贪婪量词匹配的方式相同,但是非贪婪两次只匹配最少能匹配到的序列,而贪婪匹配需要匹配最多能匹配的序列。
使用{和}的形式需要受限,m和n必须是无符号整数,取值在0到255之间。
2.元字符:
元字符是以下几种形式:
(re) 将一个元字符括起来(re是任意正则表达式)。
(?:re) 与上面相同,但是不报告(不捕获括号的配置)
() 匹配一个空字符串
(?:) 与上面相同,但是不报告
[chars] 一个中括号表达式,匹配任何一个chars中的字符。
. 匹配任意一个字符
\k 匹配非字母和数字字符
\c 匹配escape项目中所罗列的字符
{ 当后面不是数字时,匹配"{",当后面跟着数字时,是一个量词范围的开始(只支持AREs)
x 当x是一个字符时就匹配这个字符
约束 在特定的条件下约束匹配一个空字符串,约束的后面不能是量词,简单的约束如下,其它的在ESCAPES之后介绍:
^ 在字符串的开头匹配
$ 在字符串的结尾匹配
(?=re) 向前肯定,匹配任何以re开始的子字符串。
(?!re) 向前否定,匹配任何不以re开始的子字符串。
向前约束可能不包含向后,所有的括号都不捕获。
一个正则表达式不能够以"\"结尾。
posted on 2010-09-26 17:46
Klarke 阅读(135)
评论(0) 编辑 收藏 引用