gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:55:15 26 4
gpt4 key购买 nike

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

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

通过查看 Java 正则表达式包 API (java.util.regex),附加信息似乎只有在匹配成功时才能从 Matcher 类中获得。

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

最佳答案

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

正则表达式可以很好地为字符串提供匹配,但在提供非匹配方面则不尽如人意,更不用说解释匹配失败的原因了。

关于Java:如何确定正则表达式模式匹配失败的原因?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5708107/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com