2011-02-28 55 views

回答

4

該正則表達式使用了一個後向斷言,而這些在JavaScript中不受支持。你可以使用子表達式擷來達到同樣的結果,但:

// $1 references the first captured sub-expression 
strCellID.replace(/(_m)\d+(?=_l)/g, "$1-"); 

參見:

+0

你能檢查你的語法,這並未」 t似乎工作 – user517406 2011-02-28 13:57:29

+0

@ user517406:語法沒有錯,正則表達式解析得很好。 *似乎不起作用*不是一個很好的問題描述。然而,我猜你可能沒有將結果賦值給任何東西 - 字符串是不可變的,因此replace()不會改變原始字符串,它會返回一個包含結果的新字符串。如果你在我給你的代碼行前加上了一個'strCellID =',它就可以解決這個問題。如果這不是你的問題,你需要更具體。也許你可以提供一些輸入和預期的輸出樣本? – 2011-02-28 14:02:05

+0

謝謝,那是我的問題。如果我想這樣做'code'newCellID = newCellID.replace(/(_l)\ d +(?= _ o)/ g,「$ 1」+ msg.d); '代碼'我能使用相同的語法嗎? – user517406 2011-02-28 14:28:56