2013-05-06 101 views
3

我使用下面的代碼來匹配以逗號分隔字符串的Javascript匹配「」在一個字符串

<script> 
var str="testdata, W3\standard,"; 
var patt=/\bW3\\standard/g; 
document.write(str.match(patt)); 
</script> 

的話,但它並沒有給我造成即使我逃脫正則表達式的字符串反斜槓。 對此有任何幫助

+3

請不要使用W3Schools,請參閱http://w3fools.com/。 – Overv 2013-05-06 08:20:01

+0

@Overv et al誰保持在W3Schools canning。在檢查信息時,事實是很好的,但檢查至少兩個來源是明智的,因爲錯誤可能會蔓延。但是,W3Schools很好,你真的可以進行實驗,而無需創建自己的測試程序。很多時候我通過測試進行迭代,在幾個瀏覽器中查看相同的頁面,只是爲了確保。這比所有通常不能講述整個故事的原始事實,或者完全列舉邊界條件更有用。 w3fools網站承認w3schools有所改善。否則w3fools現在只是一個絨毛網站。 – Patanjali 2016-04-12 10:10:44

回答

13

該字符串中沒有\字符,因爲它在字符串文字中使用時會啓動轉義序列。

你必須逃脫字符在字符串文字:

var str="Don't visit the awful W3\\Schools,"; 
var patt1=/\bW3\\Schools/g; 
document.write(str.match(patt1)); 
+1

+1。我喜歡有品味的改寫;-) – 2013-05-06 08:26:58

1

有字符串中沒有反斜槓。您也需要在字符串文字中將其轉義:

var str="Visit, W3\\Schools,"; 
// here ----------^