我想替换所有仅有的单个等号。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 })和'([=])是一样的''和'(=)'是一样的(这里甚至不需要括号)。不要让它过于复杂。 –