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 閱讀(139)
評論(0) 編輯 收藏 引用