我沒有太多的JavaScript經驗,但我試圖創建一個標記系統,而不是使用@
或#
,將使用/
。匹配一個正則表達式的正斜槓
var start = /#/ig; // @ Match
var word = /#(\w+)/ig; //@abc Match
我怎麼能使用/
,而不是#
。我試過var slash = '/'
,並加入+ slash +
,但是失敗了。
我沒有太多的JavaScript經驗,但我試圖創建一個標記系統,而不是使用@
或#
,將使用/
。匹配一個正則表達式的正斜槓
var start = /#/ig; // @ Match
var word = /#(\w+)/ig; //@abc Match
我怎麼能使用/
,而不是#
。我試過var slash = '/'
,並加入+ slash +
,但是失敗了。
逃脫它你可以逃脫它這樣。
/\//ig; // Matches/
或者只是使用的indexOf
if(str.indexOf("/") > -1)
謝謝你本,我也嘗試過,但我在最後加了另一個\。 – iBrazilian2
您需要用\
轉義/
。
/\//ig // matches/
如果你想使用/
你需要一個\
var word = /\/(\w+)/ig;
在正則表達式,「/」是一種特殊字符,需要轉義(通過放置一個\因此否定任何特殊功能,它可能之前AKA標記服務)。
這裏有您需要什麼:
var word = /\/(\w+)/ig; // /abc Match
閱讀上的正則表達式的特殊字符的位置:http://www.regular-expressions.info/characters.html
「/」不是正則表達式中的特殊字符。然而,它是JavaScript中的一個特殊字符,用於分隔正則表達式開始和結束的位置。 – sokkyoku
我遇到有關前述,當提取文本的\
和/
分隔的兩個問題,並找到了該解決方案適用於兩者,除了使用new RegExp
之外,它需要在開始時使用\\\\
。這些調查結果在Chrome和IE11中。
正則表達式
/\\(.*)\//g
不起作用。儘管存在轉義字符,我認爲//
被解釋爲評論的開始。正則表達式(在我的情況下同樣有效,雖然不是一般)
/\b/\\(.*)\/\b/g
也不起作用。我認爲第二個/
終止正則表達式,儘管轉義字符。
對我來說,什麼是代表/
爲\x2F
,這是/
的十六進制表示形式。我認爲這比使用new RegExp
更有效率和可以理解,但當然需要註釋來標識十六進制代碼。
正斜槓特殊字符的話,你有正斜槓前添加一個反斜槓,使其工作
$patterm = "/[0-9]{2}+(?:-|.|\/)+[a-zA-Z]{3}+(?:-|.|\/)+[0-9]{4}/";
其中/表示搜索/ 這樣你
您也可以工作圍繞特殊JS處理正斜槓,將其包含在字符組中,如下所示:
const start = /[/]/g;
"/dev/null".match(start) // => ["/", "/"]
const word = /[/](\w+)/ig;
"/dev/null".match(word) // => ["/dev", "/null"]
請更改標題。你真的想做什麼?看完你的問題後,我還是不知道。 – OptimusCrime
我不知道我明白。 –
http://meta.stackexchange.com/a/177767/178816 –