正規表示式中的特殊匹配

2021-08-07 06:22:27 字數 582 閱讀 3218

貪婪匹配和惰性匹配:

預設的貪婪匹配是從後往前匹配,最大長度的匹配,惰性匹配就是在量詞後面加個?從字串的前面開始匹配,最小長度的匹配

舉例:』123abc』 /\d+/匹配的是123,/\d+?/匹配的是1

?可以用在正向斷言中,如x(?=y),(x?!y)

(x) 捕獲括號,匹配x並記住匹配

(?:x) 非捕獲括號,匹配x但不記住匹配,即後面的+,,\n,*等沒有作用

舉例 『foo bar foo bar』.match(/(foo) (bar) \1 \2/); 結果:

『foo bar foo bar』.match(/(?:foo) (?:bar) \1 \2/); 結果:

null

x(?=y) 匹配』x』僅當』x』後面跟的是』y』,這個叫做正向斷言

例如:/jack(?=sprat)/匹配』jack』僅當後面是』sprat』的時候,但是』sprat』不是匹配結果

x(?!y) 匹配』x』僅當』x』後面跟的不是』y』,這個叫做非正向斷言

舉例:/\d+(?!.)/.exec(『3.141』) match 『141』 but not 『3.141』

特殊正規表示式

特殊需求表示式 2 網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 3 interneturl a za z s 或 http w w w 4 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 ...

正規表示式 匹配

字串 void abtr quint32 ab 表示乙個正規表示式 template class bidirectionaliterator class allocator std allocator sub match bidirectionaliterator class match resul...

正規表示式匹配

請實現乙個函式用來匹配包括 和 的正規表示式。模式中的字元 表示任意乙個字元,而 表示它前面的字元可以出現任意次 包含0次 在本題中,匹配是指字串的所有字元匹配整個模式。例如,字串 aaa 與模式 a.a 和 ab ac a 匹配,但是與 aa.a 和 ab a 均不匹配 解法 首先要想到用遞迴處理...