我想替換所有僅有的單個等號。Javascript正則表達式 - 替換單個字符
var mystr = 'ONE == TWO ... THREE==FOUR ... FIVE = SIX ... SEVEN=EIGHT' ... NINE := TEN;
return mystr.replace(/(?=\=)([=]{1})(?!\=)/gm, '==');
我得到如下:
ONE === TWO ... THREE===FOUR ... FIVE == SIX ... SEVEN==EIGHT ... NINE :== TEN
號5-6,7-8,都OK。但是,我想這樣:
ONE == TWO ... THREE==FOUR ... FIVE == SIX ... SEVEN==EIGHT ... NINE := TEN
我的正則表達式有什麼問題?
你的正則表達式不執行任何操作,試圖識別':'。那麼,怎麼可能知道不要複製最後一個'='字符呢? (提示:由於JavaScript沒有向後斷言這是相當棘手...最簡單的方法將是一個第二通路,以取代':==''與:='。) –
FYI,'([= {1 })和'([=])是一樣的''和'(=)'是一樣的(這裏甚至不需要括號)。不要讓它過於複雜。 –