- Перемещена звезда в скобках для правильной группировки ---
"\"([^\"]*)\""
Успешно протестировано с кодом
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test {
public static void main(String[] args) {
String s = new String("\"Hello\" hello");
Pattern p = Pattern.compile("\"([^\"]*)\"");
Matcher m = p.matcher(s);
while (m.find()) {
System.out.println(m.group(1));
}
}
}
, который дал ожидаемый результат
Hello
- следует оригинальный пост -
Вы ничего не соответствуете, потому что ваше регулярное выражение написано так, чтобы соответствовать только одной строке символов в кавычках.
"\"([^\"])*\""
ближе к тому, что вам нужно. Обратите внимание на звезду, это означает ноль или более предыдущего выражения. В этом случае предыдущим выражением является «все, что лишено двойной кавычки».