【发布时间】:2014-08-28 09:29:31
【问题描述】:
我对 java 比较陌生,并且开发了一个程序,它使用多个正则表达式从网页中查找某些值。但是,有时我会遇到以下错误:
java.lang.IllegalStateException: No match found
at java.util.regex.Matcher.group(Matcher.java:468)
at java.util.regex.Matcher.group(Matcher.java:428)
我的代码包含很多正则表达式,我想知道在 Eclipse 中是否有一种方法可以专门找到无法找到的模式。有没有办法找到哪一行代码产生了错误?提前致谢。
【问题讨论】:
-
在使用
group方法之前,你是否在Matcher实例上调用find或matches? -
是的,我实际上能够解决这个问题。问题是我花了很长时间才解决,因为我在代码中使用了多个模式、匹配器、查找和组。我只是想知道 Eclipse 是否明确说明了我的代码中发生错误的位置。这样我以后就不会花很长时间来解决这个问题了。
-
在
at java.util.regex.Matcher.group(Matcher.java:428)下方的某个地方,您还应该有类似at your.package.name.YourClass.method(YourClassFile.java:XXX)的东西,其中XXX是文件YourClassFile.java中引发错误的行号。此行应包含yourMatcher.group(),其中yourMatcher要么没有调用find或matches方法,要么实际上没有找到任何匹配正则表达式。
标签: java regex eclipse illegalstateexception