3

我需要一个正则表达式来匹配引号中的字符串,然后是空格,然后是圆括号,然后是大括号。

例如,这是我想在 Java 中匹配的文本:

“阿洛阿洛!” (1982){装满飞行员的桶(#7.7)}

这个正则表达式是什么?

对不起,但我真的迷路了。我尝试了很多不同的东西,但现在我很难过。

4

3 回答 3

3

"[^"]*"\s*\([^)]*\)\s*\{[^}]*\}

于 2010-03-01T21:55:04.630 回答
3

这应该这样做:

Pattern p = Pattern.compile("\"(.*?)\"\\s+\\((\\d{4})\\)\\s+\\{(.*?)\\}");
Matcher m = p.matcher("\"'Allo 'Allo!\" (1982) {A Barrel Full of Airmen (#7.7)}");
if (m.find()) {
  System.out.println(m.group());
  System.out.println(m.group(1));
  System.out.println(m.group(2));
  System.out.println(m.group(3));
}

输出:

"'Allo 'Allo!" (1982) {A Barrel Full of Airmen (#7.7)}
'Allo 'Allo!
1982
A Barrel Full of Airmen (#7.7)
于 2010-03-01T21:55:46.967 回答
0

"[^"]+"\s([^)]+)\s{[^}]+}

于 2010-03-01T21:56:45.777 回答