关于 requireEnd Matcher 方法的澄清

2024-03-04

直接来自this http://docs.oracle.com/javase/7/docs/api/java/util/regex/Matcher.html#requireEnd%28%29java API:

公共布尔 requireEnd()

如果更多输入可以将正匹配更改为正匹配,则返回 true 消极的一。

如果此方法返回 true,并且找到匹配项,则更多输入 可能会导致比赛输掉。如果此方法返回 false 并且 找到匹配项,然后更多输入可能会更改匹配项,但匹配项 不会丢失。如果没有找到匹配项,则 requireEnd 没有 意义。

返回: 为真,当且仅当更多输入可以将正匹配变为负匹配。

我在网上找不到任何具体的例子。

有人可以给我展示它的使用示例吗? 提前致谢。


让我们看这个简单的例子:

public static void main(final String... args)
{
    final Pattern p = Pattern.compile("cat$");

    final Matcher m = p.matcher("I have a cat");
    m.find(); // finds a match
    System.out.println(m.requireEnd()); // prints true
}

正则表达式末尾有一个锚点;文档称,如果提供更多输入,“[...]可能会导致匹配失败”。的确。考虑这个输入:

"I have a catflap"

正则表达式在这里不再匹配:匹配失败。

如果现在我们替换"cat$" with "cat" then .requireEnd()会回来false:根据上面的输入,cat仍将由正则表达式引擎匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于 requireEnd Matcher 方法的澄清 的相关文章

随机推荐