gpt4 book ai didi

java - 匹配 "-"有完全意想不到的结果

转载 作者:行者123 更新时间:2023-11-29 10:00:12 26 4
gpt4 key购买 nike

我有一个表达式可以是 13.3315.66-17.2217.33-17.66。我希望能够弄清楚其中是否有 "-"(en-dash),因为这会改变我的代码的运行方式。我关注了this线程来检查表达式中的匹配项。

我查找破折号的正则表达式是 "-"。可以看到我的正则表达式在线工作 here , 但在 Java 中使用时失败。我的代码如下。

Pattern p = Pattern.compile("-");
Matcher m = p.matcher(refVal);
System.out.println(m.find());
if (m.find()){
//Do stuff
}

对于条目 17.33–17.66 ref,代码打印 false

预期用例:

Input: 17.33-17.66 reasdfkljasdfjlkadsf
Output: m.find() should be true

Input: 17.33
Output: m.find() should be false

Input: 2-3 five blah foo
Output: m.find() should be true

最佳答案

问题是在您的输入字符串中破折号是 (150 ascii),而模式中的破折号是 - (45 ascii)。 Reference

关于java - 匹配 "-"有完全意想不到的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34524048/

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