gpt4 book ai didi

java - 使用 Java 测试正则表达式

转载 作者:搜寻专家 更新时间:2023-10-31 08:29:33 25 4
gpt4 key购买 nike

我正在学习正则表达式,我正在使用以下代码片段进行测试:

String regex = "";
String test = "";
Pattern.compile(regex).matcher(test).find();

但是当我尝试这样的时候:

System.out.println(Pattern.compile("h{2,4}").matcher("hhhhh").find()); 

它返回 true 而不是预期的 false。

System.out.println(Pattern.compile("h{2}").matcher("hhh").find());

它返回 true 而不是预期的 false。

有什么问题?也许这不是用于正确测试正则表达式的正确语句?

谢谢。

最佳答案

字符串 hhh 包含两个 h,因此正则表达式匹配,因为 find() 方法允许匹配子字符串。

如果您锚定正则表达式以强制它匹配整个字符串,则正则表达式将失败:

^h{2}$

另一种可能性是使用 matches() 方法:

"hhh".matches("h{2}")

会失败。

关于java - 使用 Java 测试正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5338399/

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