用限定符指定連續出現的次數:
「+」必須出現一次或連續多次
元字元規定其前導字元必須在目標物件中連續出現一次或多次。
「*」元字元規定其前導字元必須在目標物件中出現零次或連續多次。
「?」最多出現一次
元字元規定其前導物件必須在目標物件中連續出現零次或一次。
下面,就讓我們來看一下正規表示式元字元的具體應用。
/fo+/ 因為上述正規表示式中包含「+」元字元,表示可以與目標物件中的 「fool」, 「fo」, 或者 「football」等在字母f後面連續出現乙個或多個字母o的字串相匹配。
/eg*/ 因為上述正規表示式中包含「*」元字元,表示可以與目標物件中的 「easy」, 「ego」, 或者 「egg」等在字母e後面連續出現零個或多個字母g的字串相匹配。
/wil?/ 因為上述正規表示式中包含「?」元字元,表示可以與目標物件中的 「win」, 或者「wilson」,等在字母i後面連續出現零個或乙個字母l的字串相匹配。
有時候不知道要匹配多少字元。為了能適應這種不確定性,正規表示式支援限定符的概念。這些限定符可以指定正規表示式的乙個給定元件必須要出現多少次才能滿足匹配。
連續出現的次數
n 是乙個非負整數。匹配確定的 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但是能匹配 "food" 中的兩個 o。
至少出現的次數
n 是乙個非負整數。至少匹配 n 次。例如,'o' 不能匹配 "bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o' 等價於 'o+'。'o' 則等價於 'o*'。
至多和至少出現的次數
m 和 n 均為非負整數,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o" 將匹配 "fooooood" 中的前三個 o。'o' 等價於 'o?'。請注意在逗號和兩個數之間不能有空格。
除了元字元之外,使用者還可以精確指定模式在匹配物件中出現的頻率。例如,/jim / 上述正規表示式規定字元m可以在匹配物件中連續出現2-6次,因此,上述正規表示式可以同jimmy或jimmmmmy等字串相匹配。
貪婪匹配和非貪婪匹配
例如:當使用zo?的部分替換成r ,匹配zoom變成rom,?按照1計算。這時使用貪婪匹配。
但是?和(*,+,?,)卻採用非貪婪原則。
|:原則匹配符號
選擇匹配符號只有乙個one|twe中選擇乙個。
正規表示式基本用法
正規表示式是處理字串的強大工具,常用來實現字串的檢索,替換,匹配驗證等,正規表示式在各種程式語言中都能使用。search search 在匹配時會掃瞄整個字串,然後返回第乙個成功匹配的結果。不會想match那樣開頭不匹配就失敗。findall 搜尋整個字串,然後返回匹配的所有內容。sub 將匹配的字...
正規表示式基本用法B
string物件的方法 match rgexp 使用正規表示式模式對字串執行查詢,並將包含查詢的結果作為陣列返回。stringobj.match rgexp 引數 stringobj 必選項。對其進行查詢的 string 物件或字串文字。rgexp 必選項。為包含正規表示式模式和可用標誌的正規表示式...
Java正規表示式基本用法
正規表示式是使用單個字串來描述 匹配一系列匹配某個句法規則的字串。爬蟲中解析html可以使用正則來方便的提取資訊 模式描述 w匹配字母 數字 下劃線 w匹配非字母 數字 下劃線 s匹配任意空白字元,相當於 t n r f s匹配任意非空字元 d匹配任意數字,相當於 0 9 d匹配非數字的字元 a匹配...