String "Ap: SV, Classe Store Stat: AC,"
我使用负面的外观,所以我可以在字符串Stat:
之后获取AC(?!Stat:)(\s\D\D),
但是它会被捕获
我只想拍摄Just AC。我该怎么做呢。对于正则表达式,我相当新手。
〜w ^
答案 0 :(得分:1)
在.NET正则表达式中,您可以使用无限的lookbehind或捕获来获得所需内容:
var m = Regex.Match(s, @"\bStat:\s*(\D\D,)");
if (m.Success)
{
Console.WriteLine(m.Groups[1].Value);
}
请参阅this regex demo。
要将值直接变为m.Value
,可以像这样使用lookbehind:
var m = Regex.Match(s, @"(?<=\bStat:\s*)\D\D,");
if (m.Success)
{
Console.WriteLine(m.Value);
}
请参阅regex demo。
一般来说,捕捉看起来更有效率和多样性。
注意:\b
是一个字边界,如果您不想将Stats
与整个字匹配,请将其删除。