Хорошо. Итак, что вы хотите - это искать в строке String последовательность символов, начинающуюся и заканчивающуюся двойными кавычками?
String bar = "A \"car\"";
Pattern string = Pattern.compile("\".*?\"");
Matcher matcher = string.matcher(bar);
String result = matcher.replaceAll("\"bicycle\"");
Обратите внимание на шаблон нежадный . *?
.
Вы можете посмотреть различные генераторы синтаксического анализатора для Java и их регулярные выражения для элемента грамматики StringLiteral.
Вот пример из ANTLR :
StringLiteral
: '"' ( EscapeSequence | ~('\\'|'"') )* '"'
;
Вы не говорите, какой инструмент вы используете для поиска (perl? Sed? Текстовый редактор ctrl-F и т. Д.). Но обычным регулярным выражением было бы:
\".*?\"
Изменить: это быстрый и грязный ответ, который не справляется с экранированными кавычками, комментариями и т. Д.