我遇到了一些遺留代碼,我們正在嘗試使用javascript正則表達式對字符串進行精確匹配。正則表達式中的/意味着什麼?
我想了解爲什麼他們使用/匹配字符串之前和之後。
例如
var match = thinger.match(/stringToMatch/);
是什麼角色呢?
我遇到了一些遺留代碼,我們正在嘗試使用javascript正則表達式對字符串進行精確匹配。正則表達式中的/意味着什麼?
我想了解爲什麼他們使用/匹配字符串之前和之後。
例如
var match = thinger.match(/stringToMatch/);
是什麼角色呢?
/regex here/
是一種在javascript中聲明正則表達式的方法。
/
字符是正則表達式聲明的定界符,很像單引號或雙引號是字符串聲明的定界符。
查看MDN regular expression reference page的書面描述。一個正則表達式可以聲明以下兩種方式中的javascript:
var re = /match string here/i;
var re = new RegExp("match string here", "i");
使用/regex here/
方法的優點是:
/
使用這種方法的優點時,使用new RegExp("regex here")
方法是:
new RegExp("first" + foo + "whatever")
,你不能與其他方法做。它們是指定正則表達式開始和結束的分隔符。您還可以附加/ i等運算符以獨立構建正則表達式。
「操作員」通常被稱爲「標誌」 – 2013-02-20 17:11:35
它是Regular Expression的分隔符。就像您可以通過輸入'string'
而不是調用它的構造函數new String('string')
來創建一個新的基本字符串,因此您可以使用/regexp/
而不是new RegExp('regexp')
來指定RegExp。
很好的答案,+1。 @MedicineMan:斜線的技術術語是「分隔符」。 – iain 2013-02-20 17:10:58
@iain - Thx。我在我的答案中添加了「分隔符」。 – jfriend00 2013-02-20 17:16:04