Java:如何确定正则表达式模式匹配失败的原因?

我正在使用正则表达式来匹配模式是否匹配,但是我也想知道它何时失败。

例如,假设我的模式为“ N {1,3} Y”。我将其与字符串“ NNNNY”匹配。我想知道它失败了,因为Ns太多了。或者,如果我将其与字符串“

XNNY”匹配,我想知道它失败,因为字符串中包含无效字符“ X”。

通过查看Java正则表达式包API(java.util.regex),似乎只有在匹配成功时Matcher类才能提供其他信息。

有没有办法解决这个问题?还是在这种情况下正则表达式甚至是一个选择?

回答:

我猜您应该使用解析器,而不是简单的正则表达式。

正则表达式可以很好地为字符串提供匹配,但在提供NON-matches方面却并非如此,更不用说解释为什么匹配失败了。

以上是 Java:如何确定正则表达式模式匹配失败的原因? 的全部内容, 来源链接: utcz.com/qa/398135.html

回到顶部