2

我正在尝试使用 Java 正则表达式来做一些我可以发誓我已经做过很多次的事情,但似乎我有问题。

基本上,我使用“。*”来跳过我不需要的所有内容,直到找到我需要的东西。

对我来说,用代码解释比用书面解释更容易:

String str = "class=\"c\" div=34234542234234</span>correct<?> blah=12354234234 </span>wrong<";      
Pattern regex = Pattern.compile("class=\"c\".*</span>([^<]*)");     
Matcher matcher = regex.matcher(str);       
boolean found = false;
while (matcher.find()) {
    found = true;
    System.out.println ("Found match: " + matcher.group(1));            
}       
if (!found)
    System.out.println("No matches found");

现在我希望我的正则表达式找到“正确”,但它会跳到最后一场比赛并找到“错误”。

谁能帮我吗?

4

1 回答 1

2

之后你错过了不情愿的限定词*- 它应该是.*?

于 2012-05-29T01:28:51.923 回答