尝试创建所有字母,数字和标点符号的字符类,然后指定其范围,但不起作用。 [A-Za-z0-9 _.- \,] {,5}
我正在尝试匹配一个范围从一个限制到另一个限制的“任何字符”的组,例如使用字母[A-Za-z] {,5}进行的同类匹配。但是问题是这仅适用于字母或数字,但是我希望我的表达式匹配任何字符(标点,字母,数字)。
我尝试了诸如“。{,5}”和“(。*?)”之类的东西,但它的范围不受限制,因此可以匹配两者之间的所有内容。
string pattern = @"[A-Za-z0-9]{,10}";
MatchCollection matches = Regex.Matches(text,pattern);
foreach(var match in matches)
{
MessageBox.Show(match.Value.ToString());
}
例如,我要匹配字符串“ Estragon_NN,_,sitting_VBG [PRESP]”中“ NN”后{,10}的所有内容,但结果只返回“ NN”
答案 0 :(得分:1)
您可以使用
string pattern = @"([^_]+)_NN(?<capturedGroup>[a-zA-Z0-9_\[\],\s]{0,10})";
var matches = Regex.Match("Estragon_NN,_,sitting_VBG [PRESP]",pattern);
var result = matches.Groups["capturedGroup"].Value;
可以在这里验证 https://regex101.com/r/OVyZ3b/1