(.+)預設是貪婪匹配
(.+?)為惰性匹配
疑問號讓.+的搜尋模式從貪婪模式變成惰性模式。
var str = 'aaa123456
bbb'
<.+?>會匹配
<.+>會匹配123456
要在瀏覽器測試結果的話,輸入:
var str = 'aaa123456
bbb'
str.match(/<.+?>/);
str.match(/<.+>/);
下面舉個簡單的例子來說明。
1.貪婪匹配是先看整個字串是否匹配,如果不匹配,它會去掉字串的最後乙個字元,並再次嘗試。如果還不匹配,那麼再去掉當前最後乙個,直到發現匹配或不剩任何字元。
var str='abcdabceba'
/.+b/ //匹配乙個或多個任意字元後面跟乙個字母b
執行str.match(/.+b/)
第一次(先看整個字串是否是乙個匹配) abcdabceba 不匹配,然後去掉最後乙個字元a
第二次(去掉最後乙個字元後再匹配) abcdabceb 匹配,返回abcdabceb。
2.惰性匹配是從左側第乙個字元開始向右匹配, 先看第乙個字元是不是乙個匹配, 如果不匹配就加入下乙個字元再嘗式匹配, 直到發現匹配...
執行str.match(/.+?b/)
第一次(讀入左側第乙個字元) a 不匹配加乙個再式
第二次 ab 匹配,返回ab
js數字正規表示式,js小數正規表示式
js數字正規表示式,js小數正規表示式 是否為數字 僅正數 包括正整數 正小數 0 param value returns function isnumber value 是否為所有數字 正數 負數 包括整數 小數 0 param value returns function isnumberall...
JS 正規表示式
驗證數字的正規表示式集 驗證數字 0 9 驗證n位的數字 d 驗證至少n位數字 d 驗證m n位的數字 d 驗證零和非零開頭的數字 0 1 9 0 9 驗證有兩位小數的正實數 0 9 0 9 驗證有1 3位小數的正實數 0 9 0 9 驗證非零的正整數 1 9 0 9 驗證非零的負整數 1 9 0 ...
js正規表示式
用正規表示式模式在字串中執行查詢,並返回包含該查詢結果的乙個陣列。rgexp.exec str 引數rgexp 必選項。包含正規表示式模式和可用標誌的正規表示式物件。str 必選項。要在其中執行查詢的string物件或字串文字。說明如果exec方法沒有找到匹配,則它返回null。如果它找到匹配,則e...