我需要在这样的句子中找到一个单词和一个数字:
Mchine州处于第4阶段。下一阶段排队。
我只需找到状态和数字4.并忽略其余部分。
我有这个:
@"\b(state)(?:\W+\w+){1,10}?\W+(\d)*\b"
但它也包括比赛之间的所有单词。
我做错了什么?
答案 0 :(得分:0)
试试这个:
var input = "The state Mchine is at stage 4. next stage is queued.";
var pattern = @"[^\s]+.(?<state>\w+)[\w\s]+(?<stage>\d+)\.";
var match = Regex.Match(input, pattern, RegexOptions.IgnoreCase);
Console.WriteLine(match.Groups["state"].Value); //state
Console.WriteLine(match.Groups["stage"].Value); //4
Console.ReadLine();