gpt4 book ai didi

java - 正则表达式匹配 "test"而不是 "test-1"

转载 作者:行者123 更新时间:2023-11-29 07:54:18 25 4
gpt4 key购买 nike

我在 java 中使用正则表达式,我编写了以下表达式来查找我的搜索字符串。

String regex = "(?i)[a-zA-Z0-9_.-|]*" + searchString + "(?i)[a-zA-Z0-9_.-|]*";

我有两个 String 存储在数据库中作为“testEcho”和“testEcho-1”。

当我通过“test”作为搜索 String 时,上述正则表达式模式仅返回“testEcho”作为结果。但它必须返回两个字符串。我的正则表达式有什么问题?

最佳答案

你的字符类有一个错误:

[a-zA-Z0-9_.-|]

需要

[a-zA-Z0-9_.|-]

否则,- 不会被视为文字 - 而是尝试在 . (ASCII 46) 和 |(ASCII 124),就像在 A-Z 中一样。

关于java - 正则表达式匹配 "test"而不是 "test-1",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878699/

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