1:貪婪匹配和非貪婪匹配
正規表示式中量詞有
*(0次或者多次)
?(0次或者1次)
+(1次或者多次)
(大於等於m小於等於n次)
(n次)
這些量詞會盡可能多的匹配,比如:
'abababa ababc abe'
.match(
/(ab)
+/g)
,匹配結果是[
'ababab'
,'abab'
,'ab'
],統稱貪婪匹配
當這些量詞後面再跟乙個?,就變成了非貪婪匹配,會盡可能少的匹配,比如
'abababa ababc abe'
.match(
/(ab)
+?/g)
,用的匹配結果是 [
"ab"
,"ab"
,"ab"
,"ab"
,"ab"
,"ab"
]
2:捕獲分組和非捕獲分組
正規表示式中的小括號表示分組,分組的內容可以通過一下方式獲取
3:正向肯定查詢和正向否定查詢
?= 正向肯定查詢,x(?=y)匹配x當且僅當x後面緊跟著y
?! 正向否定查詢,x(?!y)匹配x當且僅當x後面不緊跟著y
JS正規表示式詳解
if patrn.exec s return false return true a za z0 9 if patrn.exec s return false return true if patrn.exec s return false return true 校驗密碼 只能輸入6 20個字母 ...
js正規表示式詳解
一 正則的兩種寫法 var re a 一般情況下都用簡寫的方式 效能好 var re new regexp a 需要傳入引數的時候用 二 轉義字元 n 換行 r 製表 t 回車 s 空格 s 非空格 d 數字 d 非數字 w 字元 字母 數字,下劃線 w 非字元 任意字元 真正的點 b 獨立的部分 ...
JS正規表示式詳解01
查詢符合條件的乙個字串的位置,找不到返回 1 abc search b return 1 abc search d return 1 abcabc search b g return 1 查詢符合條件的字串,並進行替換,找不到不進行替換 abcabc replace b 2 return a2cab...