Js-正則表達式學習 (3)量詞,惰性匹配和貪婪匹配


量詞:
n+    匹配一個或者一個以上的n字符串(n可以是一個字符,也可以是個表達式適配的字符串,如何(ab)+, ab+,一個匹配的是ab,一個匹配的是b)
n*    匹配零個或者一個以上的n字符串
n?    匹配零個或者一個n字符串
n{X}    匹配X個n字符串
n{X,Y}    匹配X個到Y個n字符串
n{X,}    匹配X個以上的n字符串
n$    匹配以n字符串結尾的字符串
^n    匹配以n字符串開頭的字符串
?=n    匹配後面緊跟着n字符串的字符串
?!n    匹配後面不跟着n字符串的字符串

懶惰模式和貪婪模式
貪婪模式:n+,n*,n?,n{X},n{X,Y},
懶惰模式:n+?,n*?,n??,n{X}?,n{X,Y}?

區別在於惰性模式在量詞修飾符號後面多了一個?,貪婪模式是能匹配多則多,而惰性模式是能匹配少則少
判斷思路:
1.貪婪模式:找到第一個符合的符號,然後一直截取到最後一個字符串判斷,滿足則匹配成功,如果不滿足,去掉最後一個字符再匹配,直到匹配成功
2.懶惰模式:找到第一個符合的字符,滿足長度和匹配則匹配成功,若滿足開頭不滿足長度(剩下部分)則再取下一個字符匹配,如果不滿足則捨棄前面的字符
,直到找到匹配爲止
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章