gpt4 book ai didi

c# - 正则表达式用静态词替换找到的匹配项

转载 作者:太空宇宙 更新时间:2023-11-03 19:39:22 26 4
gpt4 key购买 nike

我的输入是:

Foo 12;
Foo 5534;
Foo 1;

我要更换

Foo (\d+?);Foo NUM;

结果是:

Foo NUM;
Foo NUM;
Foo NUM;

我的模式是:

Regex.Replace(line, "Foo (\d+?);", "NUM");

但这似乎行不通。哪里出了问题?

最佳答案

在您的代码中,您正在匹配 Foo (\d+?); 并将匹配替换为 NUM,这将是文字结果。但是你想要保留在替换中的不是数字而是 FOO

您可以使用 Foo 的捕获组并在替换中使用该捕获组来进行替换。

Regex.Replace(line, @"(Foo) \d+;", "$1 NUM;")

您可以使用问号省略使 \d+ 非贪婪。

Regex demo | C# demo

enter image description here

关于c# - 正则表达式用静态词替换找到的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55949959/

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