正則的使用及replace細講
阿新 • • 發佈:2018-12-19
一個數 所有 多次 存在 字符 number 不變 就是 match
1.var reg=/./ 與 var reg=/\./的區別?
.代表任意一個字符
\.而後者代表這個字符串中得有一個.
2.?的使用
如果單獨的一個字符後面帶?
/\d?/ 代表1個或0個這個字符的出現 (在捕獲的階段)
如果是量詞+後面帶? 代表取消貪婪性 (在捕獲的階段)
3.捕獲 (在全局捕獲中,exec()多次輸出後,他的起始位置不斷地向後匹配,如果匹配不到就是null)
1.普通捕獲 exec() match()(對exec()的包裝)
普通捕獲有懶惰性,給正則添加一個修飾符g可以解決;
match()是將所有捕獲的內容放在一個數組中並返回,match()就是對exec()對函數的簡單封裝
2.分組捕獲:
分組捕獲;還是用到了exec()和match()的方法,只不過正則的結構發生了變化,加()
分兩種情況:(全局,非全局)
非全局:exec()和match()在非全局下分組捕獲相同,分組捕獲在捕獲的過程中,既捕獲大正則的內容,也捕獲分組中的內容,並返回;
全局:exec()和match()在非全局下分組捕獲不同,exec()不變,但是match只捕獲到大正則裏面的內容;
3.分組捕獲的優勢:
1.可以提升優先級;
2.可以捕獲引用;
捕獲引用: \1 \2轉義字符;
\1代表分組1裏面一模一樣的內容;
\2代表分組2裏面一模一樣的內容;
分組的結果存在正則RegExp的$number屬性下,
正則的使用及replace細講