gpt4 book ai didi

c# - 为什么我的 Regex.Replace 字符串包含两次替换值?

转载 作者:太空狗 更新时间:2023-10-30 00:51:30 25 4
gpt4 key购买 nike

我有以下字符串:aWesdE,我想使用 Regex.Replace(字符串、字符串、字符串、RegexOptions)

目前,我使用这段代码:

string input = "aWesdE";
string match = "(.*)";
string replacement = "http://myserver.com/$1.jpg";
string output = Regex.Replace(input, match, replacement,
RegexOptions.IgnoreCase | RegexOptions.Singleline);

结果是输出最终为:http://myserver.com/aWesdE.jpghttp://myserver.com/.jpg

因此,替换值正确显示,然后似乎再次附加 - 非常奇怪。这是怎么回事?

最佳答案

您的正则表达式中实际上有 2 个匹配项。你这样定义你的比赛:

string match = "(.*)";

这意味着匹配零个或多个字符,因此您有 2 个匹配项 - 空字符串和您的文本。为了修复它,将模式更改为

string match = "(.+)";

这意味着匹配一个或多个字符 - 在这种情况下你只会得到一个匹配

关于c# - 为什么我的 Regex.Replace 字符串包含两次替换值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27081446/

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