gpt4 book ai didi

.net - Regex.Replace 为什么\b 会阻止这种情况?

转载 作者:行者123 更新时间:2023-12-03 03:25:07 25 4
gpt4 key购买 nike

为什么第二条语句失败?

作品

Regex.Replace("zz WHERE zz", "where", "yy", RegexOptions.IgnoreCase | RegexOptions.Singleline);

没有

Regex.Replace("zz WHERE zz", "\bwhere\b", "yy", RegexOptions.IgnoreCase | RegexOptions.Singleline);

这可以工作,但替换了我不想做的空间

Regex.Replace("zz WHERE zz", " where ", "yy", RegexOptions.IgnoreCase | RegexOptions.Singleline);

最佳答案

因为\b是退格控制字符(U+0008)。反斜杠本身甚至没有到达正则表达式。

要在正则表达式中按预期使用它,您需要双重转义(转义 C# 字符串的反斜杠,以便它们是正则表达式的正常反斜杠):

"\\bwhere\\b"

或使用逐字字符串文字:

@"\bwhere\b"

关于.net - Regex.Replace 为什么\b 会阻止这种情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2868453/

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