C# 控制台应用中的正则表达式
本文关键字:正则表达式 应用 控制台 | 更新日期: 2023-09-27 18:03:40
"Fire hose Tweet - TweetID: 436660665219305472 - ActorID: 120706813"
"Fire hose Tweet - TweetID: 436660665219305472"
"Fire hose Tweet - TweetID: 436660665219305472 "
我是正则表达式 C# 的新手,从示例字符串 1 和字符串 2 中提取推文 Id 436660665219305472
是什么?
你不需要正则表达式,你可以使用 Split 方法和 LINQ 来获取你想要的东西:
var input = "Fire hose Tweet - TweetID: 436660665219305472 - ActorID: 120706813";
var output = input.Split().First(x => x.All(char.IsDigit));
查看 .NET 的命名分组构造
下面是一个与你的方案匹配的示例。
string str1 = "Fire hose Tweet - TweetID: 436660665219305472 - ActorID: 120706813";
string str2 = "Fire hose Tweet - TweetID: 436660665219305472";
var tweetIdRegex = new Regex(@"TweetID:'s(?<TweetID>'d+)", RegexOptions.ExplicitCapture | RegexOptions.Compiled);
Console.WriteLine(tweetIdRegex.Match(str1).Value);
Console.WriteLine(tweetIdRegex.Match(str2).Value);
输出:
推文ID: 436660665219305472推文ID: 436660665219305472
或者,如果您最终得到一个表示整个字符串的正则表达式,并且您使用的是分组构造,则可以执行以下操作,这就是我提到命名分组结构的原因。这是我广泛使用的一种技术。
GroupCollection tweetInfo = tweetIdRegex.Match(str1).Groups;
Console.WriteLine(tweetInfo["TweetID"].Value);
在这种情况下,它将输出:
436660665219305472