gpt4 book ai didi

c# - 使用正则表达式捕获第一个匹配项 (C#)

转载 作者:太空狗 更新时间:2023-10-29 22:15:16 24 4
gpt4 key购买 nike

这是我第一次使用 C# 和我有限的正则表达式经验的一部分,我无法捕获特定表达式中第一次出现的匹配项。我相信下面的例子会比文字更清楚地描述我想做的事情。

Match extractor = (new Regex(@".*\d(?<name>.*)\d.*")).Match("This hopefully will pick up 1Bob9error1 as a name");
Console.WriteLine(extractor.Groups["name"]);

我想用这个表达式打印“Bob”而不是“error”。

我有预感它与 ?在匹配组前面,但我不确定是什么操作?在这种特殊情况下执行。解释和一些帮助会很棒。

谢谢你们,你们不知道这个网站对像我这样的初学者有多大帮助。

最佳答案

你的问题是贪婪。那就是正则表达式的贪婪。你的 .* 一开始就捕获了所有这些 "This hopefully will pick up 1Bob"。试试这个正则表达式:

\d(?<name>[^\d]+)\d

关于c# - 使用正则表达式捕获第一个匹配项 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1828971/

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