4

単一の等号のみをすべて置き換えたいと思います。

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 は問題ありません。しかし、私はこれが欲しい:

ONE == TWO ... THREE==FOUR ... FIVE == SIX ... SEVEN==EIGHT ... NINE := TEN

私の正規表現の何が問題になっていますか?

4

2 に答える 2

2

おそらく次の正規表現を使用できます。

([^=:])=(?!=)

=したがって、これは、またはではないもので始まり:、その後に=記号がなく=、後にないものに一致します。

次に、の置換を使用し$1==ます。

ここでテスト済み

写真も欲しい方は…

正規表現イメージ

于 2013-06-12T13:48:01.647 に答える