gpt4 book ai didi

c# - 正则表达式 - 仅查找和替换完整的字符串出现(不是部分匹配)

转载 作者:行者123 更新时间:2023-11-30 19:50:14 25 4
gpt4 key购买 nike

我不太擅长正则表达式,但也许有一种简单的方法可以完成这项任务。

我得到一个类似 "bla @a bla @a1 bla" 的字符串

我也得到了像 {"a", "a2"} 这样的对, {"a1", "a13"} ,我需要替换 @a@a2对于第一对,@a1@a13对于第二个。

问题是当我使用 String.Replace 时并寻找 @a , 它也取代了 @a1但它不应该。我需要它完全匹配 @a并避免在其他地方部分匹配。

注意:给定的字符串也可以是括号、逗号、点等。但是,对总是 [a-z]*[0-9]+

请帮我替换正则表达式。

干杯

最佳答案

使用\b:

@a\b

\b 是零宽度字边界。基本上这意味着它匹配从单词字符(字母、数字、下划线)到非单词字符(所有其他字符)的转换,反之亦然,但不会“消耗”输入的任何部分(那是零宽度部分)。

例如:

string s1 = "bla @a bla @a1 bla ";
string s2 = Regex.Replace(s1, @"@a\b", "foo");
Console.WriteLine(s2);

输出:

bla foo bla @a1 bla

关于c# - 正则表达式 - 仅查找和替换完整的字符串出现(不是部分匹配),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2569773/

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