2010-12-14 13 views
0

我需要一些幫助,希望有人能幫助我解決這個問題:正則表達式的新的正則表達式 - 替換所有文本,而不是[GAME_NAME]

hturl = "\[game_name\]" 
var myregexp = new RegExp(hturl, "ig"); 
contentreplace = contentreplace.replace(myregexp, '\[game_namexxxx\]'); 

上述正則表達式替換所有文字這樣

[game_namexxxx] ll you h [game_namexxxx] v [game_namexxxx] to bri [game_namexxxx] [game_namexxxx] [game_namexxxx] lo [game_namexxxx] [game_namexxxx] th [game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] t you pl [game_namexxxx] y [[game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] [game_namexxxx] [game _namexxxx

,而不是與[game_namexxxx]

由於

+0

請張貼原文爲好,這是不可能找到你的正則表達式的錯誤,如果你只顯示「破」的結果。 – Tomalak 2010-12-14 20:12:22

回答

3

使用\\[代替\[僅更換[GAME_NAME]。

\[ in a string literal escapes [,所以字符串文字實際上會產生字符串[

alt text

+0

嗨加比 - 我試圖使用\\,它不工作 - 然後你提到了相同的東西,我再次嘗試了......現在它工作:-)非常感謝你 - 這是表示讚賞! – 2010-12-14 20:14:57

+0

@Gerald Ferreira歡迎您:) – 2010-12-14 20:16:30

+1

+1用於查看逃跑問題。我沒有。 ;)@Gerald:如果正則表達式真的是從一個字符串變量構建的(正如我的答案中的評論所建議的那樣),這個變量應該先被正則表達式轉義,否則正則表達式會在某個時候再次破壞:'var hturl = hturl.replace (/[-\\[\\]{}()*+?.,\\$$|]/g,「\\ $ &");' – Tomalak 2010-12-14 20:20:33