0

我需要帮助将字符串与正则表达式匹配。字符串的一个例子是

"Longitude: 34.847368\nLatitude: 30.435345\nAltitiude: 130.34554"

所以在这个字符串中,数字可以改变,并且可能没有十进制值。

当我尝试这段代码时,

Pattern pattern = Pattern.compile("Longitude: -?\\d+(\\.\\d+)?\nLatitude: -?\\d+(\\.\\d+)?\nAltitude: -?\\d+(\\.\\d+)?");

我收到一条错误消息,说\.是无效的转义序列,有人可以帮忙吗?

4

2 回答 2

1

您必须使用双斜杠,否则 Java 将其视为字符串转义序列,而不是正则表达式转义序列。尝试这个:

Pattern pattern = Pattern.compile("Longitude: \\d+(\\.\\d+)?\nLatitude: \\d+(\\.\\d+)?\nAltitude: \\d+(\\.\\d+)?");
于 2012-07-03T03:35:28.753 回答
0

Soxxeh 和 aroth 几乎肯定是正确的,但在未来,也许这会有所帮助:

http://gskinner.com/RegExr/

我一直在使用它:D

于 2012-07-03T05:06:16.827 回答