Я хочу проанализировать некоторые исходные файлы C и найти все строки ("foo").
Нечто подобное работает
String line = "myfunc(\"foo foo foo\", \"bar\");";
System.out.println(line);
String patternStr = "\\\"([^\"]+)\\\"";
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher("");
String s;
if(line.matches(".*"+patternStr+".*"))
matcher.reset(line);
while(matcher.find()) {
System.out.println(" FOUND "+matcher.groupCount()+" groups");
System.out.println(matcher.group(1));
}
Пока не будет строк "escape-кавычек", таких как
String line = "myfunc(\"foo \\\"foo\\\" foo\", \"bar\");";
Я не знаю, как создать выражение в Java, например, "без \", но с \. "
Я нашел что-то похожее на C здесь http://wordaligned.org/articles/string-literals-and-regular-expressions
Заранее спасибо.