【发布时间】:2009-06-05 13:15:37
【问题描述】:
我的正则表达式有来自同一代码的 2 个不同的输出......但我不知道出了什么问题。这是一段代码,我希望你能帮助我。谢谢!
String s = "48° 18′ 13,94″ nördliche Breite, "
+ "11° 34′ 31,98″ östliche Länge";
String kommazahl = "[0-9]{1,2}([\\.,][0-9]+)?";
String zahl = "[0-9]{1,2}";
Pattern p1 = Pattern.compile("("+ zahl +"[°/| ]{1,2}"+ zahl +"(['′/| ]{1,2}("+ kommazahl +")?)?).*"
+"("+ zahl +"[°/| ]{1,2}"+ zahl +"(['′/| ]{1,2}("+ kommazahl +")?)?).*");
Matcher m1 = p1.matcher(s);
System.out.println(m1.group(1) + "\n" + m1.group(5));
// Output should be:
// 48° 18′ 13,94
// 11° 34′ 31,98
// Output is:
// 48° 18′ 13,94
// 1° 34′ 31,98
【问题讨论】:
-
为什么这么多人认为这是语言中的错误,而不是更仔细地检查自己的代码?
-
zahl 似乎是错误的 - 度数可以有 3 位数。这与您的问题无关,可能只是一个错误。
-
标记问题时请注意提示提示。任何名称后面数字小于 10 的标签都可能是错误。