luv*_*ere 5 .net regex repeat matching capturing-group
是否有正则表达式的风格,允许我计算*和+运算符匹配的重复次数?我特别想知道它是否可以在.NET平台下运行.
你很幸运,因为事实上.NET正则表达式(我认为这是非常独特的).基本上每一个Match,每个都Group存储每一个Captures.
因此,您可以计算可重复模式与输入匹配的次数:
这是一个例子:
Regex r = new Regex(@"\b(hu?a)+\b");
var text = "hahahaha that's funny but not huahuahua more like huahahahuaha";
foreach (Match m in r.Matches(text)) {
Console.WriteLine(m + " " + m.Groups[1].Captures.Count);
}
Run Code Online (Sandbox Code Playgroud)
打印(如ideone.com上所示):
hahahaha 4
huahuahua 3
huahahahuaha 5
Run Code Online (Sandbox Code Playgroud)