4

@ の前に < がない限り、@ を /@ に置き換える正規表現が必要です。これを達成するためにRegExHeroをいじっていますが、これは正しくありません。正規表現に関しては、私はかなり無知であることに注意することが重要です。

これが私が試したことです:

正規表現 [^<]\@

交換用ストリング &/@

ターゲット文字列 Flip@

Flip<@ を置き換えないという点で、これはほとんど機能します。ただし、Flip@ を Fli/@ に置き換えるため、機能しません。基本的に、記号の前に山かっこがない場合は、元の文字を保持する必要があります。

4

2 に答える 2

9

あなたの言い方は、まさに否定的な後読みアサーションの定義です。

(?<!<)@

一般に、

(?<!foo)bar

「foo」の後に「bar」がないことを意味します。前向きな後見、

(?<=foo)bar

逆に、 「foo」に続く「bar」を意味します。

先読みもあります

bar(?=foo)

「バー」の後に「フー」が続くことを意味します。

于 2013-05-23T19:12:16.937 に答える
4

式が期待どおりに機能しない理由は、式が@記号の前の文字をキャプチャして、置換ターゲットの一部にするためです。非キャプチャの[^<]の後読みを使用するには、 withを変更する必要があります。最終的な式は次のようになります。(?<!<)

(?<!<)\@
于 2013-05-23T19:10:40.020 に答える