gpt4 book ai didi

regex - 正则表达式中的自定义单词边界

转载 作者:行者123 更新时间:2023-12-01 10:57:37 32 4
gpt4 key购买 nike

我正在尝试使用正则表达式匹配单词,但遗憾的是单词边界字符 (\b) 没有包含足够的字符来满足我的口味,所以我想添加更多。 (在这种情况下,“+”字符)

这是我曾经拥有的(它是 C#,但不是很相关):

string expression = Regex.Escape(word);
Regex regExp = new Regex(@"\b" + expression + @"\b", RegexOptions.IgnoreCase);

这个特定的正则表达式与“C++”不匹配,我认为它真的很糟糕。所以我尝试在字符类中使用\w 字符,以及 + 字符:
string expression = Regex.Escape(word);
Regex regExp = new Regex(@"(?![\w\+])" + expression + @"(?![\w\+])", RegexOptions.IgnoreCase);

但是现在,没有任何东西可以匹配……我缺少什么吗?

最佳答案

(无需转义字符类中的 +)

问题是您首先使用负向后视,而您应该使用负向后视。尝试:

@"(?<![\w+])" + expression + @"(?![\w+])"

关于regex - 正则表达式中的自定义单词边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14232931/

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