gpt4 book ai didi

java - 寻找 FALSE 正则表达式

转载 作者:行者123 更新时间:2023-11-30 05:10:45 25 4
gpt4 key购买 nike

Possible Duplicate:
What regular expression can never match?

我正在寻找一个不与任何字符串匹配的正则表达式。示例:

假设我有以下 Java 代码

public boolean checkString(String lineInput, String regex)
{
final Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
final Matcher m = p.matcher(lineInput);
return m.matches();
}

在某些情况下,我希望 checkString 将为所有 lineInput 返回 false。因为我只控制正则表达式(而不是 lineInput),是否有一个值不匹配任何字符串?

-- 约纳坦

最佳答案

\b\B 不会匹配任何字符串,因为它是矛盾的。

\b 是与单词边界匹配的零宽度 anchor 。 \B 也是零长度,并且位于 \b 不存在的位置。因此,根本不可能同时见证 \b\B

如果正则表达式支持lookarounds,您还可以使用负lookahead(?!)。这个断言总是会失败,因为它总是可以匹配空字符串。

作为 Java String 文字,上面的模式分别是 "\\b\\B""(?!)"

引用文献

关于java - 寻找 FALSE 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435335/

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