私は、次のファイルがあります。非貪欲正規表現の置き換え
STRING1
"string3" = 1 ;
をによって:私は交換したい
STRING1
"string2" = 1 ;
STRING1
"string4" = 1 ;
STRING1
"string3" = 1 ;
STRING1
"string5" = 1 ;
を
STRING1
"string3" = 2 ;
(STRING1.*?".*?".*?=)(.*?)\;
(あるいは(STRING1.*?"string.?".*?=)(.*?)\;
)を使用して、I個々のSTRING1 ... ;
ブロックに一致することができますが、もし私が(STRING1.*?"string3.?".*?=)(.*?)\;
を使うとxはstring3ブロックまでのすべてにマッチします。
正規表現を使用する必要がありますか?あなたが記述した小さなファイルでは、ファイル全体を文字列に読み込み、replace()メソッドを使用して新しい文字列をファイルに書き戻すことができます。あなたは彼らの言うことを知っている:あなたは問題がある。あなたは正規表現でそれを解決することに決めました。今あなたは2つの問題があります:-) – Apollo2020
これはファイルの内容の抜粋ですが、それははるかに大きくなります。私は正規表現を使用する必要はありませんが、 "文字列*"の配置がランダムになる可能性があるので、私は考えることはできませんが、誤って置き換えられる可能性があります。たとえば、1つのファイルに「文字列*」\ r \ n = 1; –