轉義正規表示式中特殊字元

admin發表於2018-05-10

正規表示式中有大量具有特殊意義字元,比如:

(1).點(.)匹配除了回車符(\r)和換行符(\n)之外的任意字元。

(2).星號(*)可以重複前面匹配的字元0次或者多次。

(3).加號(+)可以重複前面匹配的字元1次或者多次。

如果要匹配字串中對應的特殊字元,需要將這些字元進行轉義,程式碼例項如下:

[JavaScript] 純文字檢視 複製程式碼執行程式碼
let dotReg = new RegExp("\\.");
let dotStr = "abcdef.";
console.log(dotStr.match(dotReg));

上面程式碼通過轉義,可以匹配字串dotStr中的點(.)。

為什麼需要使用兩個反斜槓參閱建構函式方式建立正規表示式一章節。

下面分享一段程式碼例項,它可以實現將正則中常用特殊字元轉義的功能,程式碼如下:

[JavaScript] 純文字檢視 複製程式碼
let encodeReg=(source)=>{
  return String(source).replace(/([.*+?^=!:${}()|[\]/\\])/g,'\\$1');
}

相關文章