1
最初の括弧内の"
を'
に置き換えます。 2番目の括弧内の部分文字列は変更されません。例:TEST2周りReplaceAllは部分文字列の最初の出現箇所を置き換えます
String test = "(\"test1\", \"test2\") (\"test3\", \"test4\")"; //wanted output is ('test1', 'test2') ("test3", "test4")
String regex = "(^[^\\)]*?)\"(.*?)\"";
test = test.replaceAll(regex, "$1'$2'");
System.out.println(test); // output is ('test1', "test2") ("test3", "test4")
test = test.replaceAll(regex, "$1'$2'");
System.out.println(test); // output is ('test1', 'test2') ("test3", "test4")
なぜ"
がでReplaceAllの最初の呼び出し中に交換されていませんか?
* "または文字列の先頭" * - これはあなたが '\\ G(?!^)'を使用する必要がある理由です。 –