有java正则表达式的麻烦

时间:2012-06-29 23:25:19

标签: java regex

我是Java的正则表达式的新手,并且无法让它正常工作。以下代码表示找不到匹配项。

pattern = Pattern.compile("EN\\( [ -][0-5]\\)= \\d+.?\\d*E[+-]\\d{2}");
match = pattern.matcher("EN(  0)= 0.000000E+00");
String result = match.group();

据我所知,这应该有效。我一直在使用Oracle java tutorial on regular expressions来指导我。任何和所有的帮助表示赞赏。

2 个答案:

答案 0 :(得分:2)

几乎就在那里,你只需要:

Matcher match = pattern.matcher("EN(  0)= 0.000000E+00");
match.find(); // <-- missing
String result = match.group();

答案 1 :(得分:1)

-中的{p> [ -]是特殊字符,因此您必须使用[ \\-]

Pattern pattern = Pattern.compile("EN\\( [ \\-][0-5]\\)= \\d+.?\\d*E[+\\-]\\d{2}");
Matcher match = pattern.matcher("EN(  0)= 0.000000E+00");
if (match.find())
    System.out.println(match.group());