1. 回溯引用
- 回溯引用指的是模式的前半部分引用在前半部分中定義的子表達式姐浮。
- “\“后面接數字可以引用第幾個表達式。
- 通常\0用來引用整個正則表達式葬馋。
2. 應用
2.1 標簽匹配
匹配h的六級標簽
// 如果不使用回溯引用卖鲤,是無法得到標簽開頭的
(/<([hH][1-6])>.*?<\/[hH][1-6]/g).test("<h1>asd</h2>"); // true
//使用回溯引用,可以得到正確的匹配
(/<([hH][1-6])>.*?<\/\1/g).test("<h1>asd</h2>"); // false
(/<([hH][1-6])>.*?<\/\1/g).test("<h1>asd</h1>"); // true
2.2 找出連續(xù)重復單詞
//[" of of", " and and"]
"this is a block of of text several words here and repeated, and and they should not be.".match(/\s+(\w+)\s+\1/g);
3. 替換
回溯查找在替換操作中有很大作用畴嘶。
//"(010)-1234567"
"010-123-4567".replace(/(\d{3})(-)(\d{3})(-)(\d{4})/,"($1)$2$3$5");
注意:javascript中用$n表示引用第n個子表達式蛋逾。
子表達式
有些正則表達式允許在替換中隊大小寫進行替換:
元字符 | 說明 |
---|---|
\E | 結束\L或者\U轉換 |
\l | 把下一個字符轉換為小寫 |
\L | 把\L和\E之間的字符全部轉換為小寫 |
\u | 把下一個字符轉換為大寫 |
\U | 把\U和\E之間的字符全部轉換為大寫 |
JavaScript無效
下一篇:查找方向