@@ -694,7 +694,7 @@ var html = "<b>Hello</b>\n<i>world!</i>";
694694
695695### 贪婪模式
696696
697- 上一小节的三个量词符,默认情况下都是最大可能匹配,即匹配直到下一个字符不满足匹配规则为止 。这被称为贪婪模式。
697+ 上一小节的三个量词符,默认情况下都是最大可能匹配,即匹配到下一个字符不满足匹配规则为止 。这被称为贪婪模式。
698698
699699``` javascript
700700var s = ' aaa' ;
@@ -703,29 +703,31 @@ s.match(/a+/) // ["aaa"]
703703
704704上面代码中,模式是` /a+/ ` ,表示匹配1个` a ` 或多个` a ` ,那么到底会匹配几个` a ` 呢?因为默认是贪婪模式,会一直匹配到字符` a ` 不出现为止,所以匹配结果是3个` a ` 。
705705
706- 如果想将贪婪模式改为非贪婪模式,可以在量词符后面加一个问号。
706+ 除了贪婪模式,还有非贪婪模式,即最小可能匹配。只要一发现匹配,就返回结果,不要往下检查。 如果想将贪婪模式改为非贪婪模式,可以在量词符后面加一个问号。
707707
708708``` javascript
709709var s = ' aaa' ;
710710s .match (/ a+? / ) // ["a"]
711711```
712712
713- 上面代码中 ,模式结尾添加了一个问号` /a+?/ ` ,这时就改为非贪婪模式,一旦条件满足,就不再往下匹配。
713+ 上面例子中 ,模式结尾添加了一个问号` /a+?/ ` ,这时就改为非贪婪模式,一旦条件满足,就不再往下匹配, ` +? ` 表示只要发现一个 ` a ` ,就不再往下匹配了 。
714714
715- 除了非贪婪模式的加号,还有非贪婪模式的星号(` * ` )和非贪婪模式的问号(` ? ` )。
715+ 除了非贪婪模式的加号( ` +? ` ) ,还有非贪婪模式的星号(` *? ` )和非贪婪模式的问号(` ? ?` )。
716716
717717- ` +? ` :表示某个模式出现1次或多次,匹配时采用非贪婪模式。
718718- ` *? ` :表示某个模式出现0次或多次,匹配时采用非贪婪模式。
719719- ` ?? ` :表格某个模式出现0次或1次,匹配时采用非贪婪模式。
720720
721721``` javascript
722- ' abb' .match (/ ab* b / ) // ["abb"]
723- ' abb' .match (/ ab*? b / ) // ["ab "]
722+ ' abb' .match (/ ab* / ) // ["abb"]
723+ ' abb' .match (/ ab*? / ) // ["a "]
724724
725- ' abb' .match (/ ab? b / ) // ["abb "]
726- ' abb' .match (/ ab?? b / ) // ["ab "]
725+ ' abb' .match (/ ab? / ) // ["ab "]
726+ ' abb' .match (/ ab?? / ) // ["a "]
727727```
728728
729+ 上面例子中,` /ab*/ ` 表示如果` a ` 后面有多个` b ` ,那么匹配尽可能多的` b ` ;` /ab*?/ ` 表示匹配尽可能少的` b ` ,也就是0个` b ` 。
730+
729731### 修饰符
730732
731733修饰符(modifier)表示模式的附加规则,放在正则模式的最尾部。
0 commit comments