スタンドアロンの単一の '='文字を正規表現に一致させようとしています。例えばスタンドアロンの文字に一致する正規表現
、このコード
if(y == 5 || x = 1) {
Do something ...
}
のために私は、単一の '='、およびない "==" にマッチさせたいです。私は正規表現の文字列の組み合わせをたくさん試しましたが、私はまだ正しい位置に一致を得ることができません。
スタンドアロンの単一の '='文字を正規表現に一致させようとしています。例えばスタンドアロンの文字に一致する正規表現
、このコード
if(y == 5 || x = 1) {
Do something ...
}
のために私は、単一の '='、およびない "==" にマッチさせたいです。私は正規表現の文字列の組み合わせをたくさん試しましたが、私はまだ正しい位置に一致を得ることができません。
正規表現パーサーがこれをサポートしている場合。 –
ツールをリンクしていただき、ありがとうございます。私はそれをC++の正規表現の構文に変換する必要があります。 –
これは、BoostライブラリまたはPCREライブラリでのみ機能します。 C++ 11の正規表現は、ECMAScript正規表現に従います。これは、ルック・バックをサポートしていません。 – nhahtdh
FBOのソリューションは確かにある読みより洗練されていますが、ルックバックを持たないJSで行う必要がある場合は
[^=]=[^=]
あなたが確認しているコードのように見えるので、=
の前後には常に文字が存在するため、いずれの文字も別の=
ではないというテストです。
あなたの答えと彼の両方は、C++正規表現の構文に変換してから働きました。 –
後でreplaceを使用する場合は、前のシンボルと '='の後のシンボルも置き換えられることに注意してください。つまり、 '([^ =])(=)([^ =])'と置き換えて '$ 1 == $ 3'を使用することができます(' = 'を' == ')。 –
なぜ正規表現を使用してコードを解析していますか?これが非常に簡単なツールでない限り、より堅牢なものが必要になります。 – TartanLlama
a =を探して、先行するか後に別の=を付けないか? –
私はその特定の方法を使用する場合、 "=="部分の2番目の "="と一致します。 –