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

前端之家收集整理的这篇文章主要介绍了Java:如何确定正则表达式模式匹配失败的原因?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用正则表达式来匹配模式是否匹配,但是我也想知道何时失败.

例如说,我有一个“N {1,3} Y”的模式.我匹配字符串“NNNNY”.我想知道它失败了,因为有太多的Ns.或者如果我将它与字符串“XNNY”进行匹配,我想知道它失败了,因为字符串中有一个无效的字符“X”.

Java正则表达式程序包API(java.util.regex)看,当匹配成功时,附加信息似乎可以从Matcher类获得.

有办法解决这个问题吗?或者在这种情况下是正则表达式甚至是一个选项?

解决方法

我想你应该使用解析器,而不是简单的正则表达式.

正则表达式是很好的提供字符串的匹配,但不是提供非匹配,更不用说解释为什么一个匹配失败.

猜你在找的Java相关文章