2011-03-30 33 views
1

我用一個很簡單的正則表達式中引起JSLint.com報告差錯的替換功能:如何編寫正確的正則表達式以便JSLint進行驗證?

srcTemplate.replace(/{x}/g, tileX); 

在互聯網快速搜索給了很多建議,但他們沒有回答我的問題:

如何增強正則表達式以便JSLint驗證並且該函數將繼續工作?

+1

jslint報告什麼錯誤? – 2011-03-30 08:33:34

回答

6

正則表達式/{x}/無效,因爲大括號在正則表達式中有特殊含義。一些正則表達式引擎可能仍然認爲它是一個有效的正則表達式,假設你可能指的是字面花括號而不是量詞,但也許JSLint在這裏更嚴格。所以,如果你打算匹配一個{x},你需要的正則表達式

/\{x\}/ 

爲安全起見(雖然現在還不清楚爲什麼你需要一個正則表達式的所有,因爲它是一個簡單的文本替換)。

通常,使用大括號作爲量詞。例如x{3}匹配xxx; x{3,5}匹配xxx,xxxxxxxxx,依此類推。

+0

非常感謝Pietzcker!我會評估你的解決方案,並嘗試一個簡單的替換函數,看看什麼對我最好,但現在,你幫了我很多。 – milovanderlinden 2011-03-30 20:38:01