首页 > 代码库 > 正则表达式小技巧(不断更新中...)

正则表达式小技巧(不断更新中...)

  我们使用正则表达式大多是在做输入验证的时候,也就是仅仅匹配一个符合条件的结果,但是如果我们解析一些特殊格式的文本,需要多个匹配结果,那么该如何获得多个匹配结果呢?下面来介绍两种方法:

方法一:

使用Matches方法,获得MatchCollection结果,遍历MatchCollection取得匹配的结果。

string equ = @"\w*@.*";Regex rgx = new Regex(@"\d+?\d+_?\d*", RegexOptions.IgnoreCase);foreach (Match m in rgx.Matches(equ)) // 使用 Matches 方法{    Console.WriteLine(m.Value);}

方法二:

使用NextMatch方法,当匹配成功时,继续向下匹配。

Match m = rgx.Match(equ); // 也可以使用 Match 方法匹配第一个while (m.Success){    Console.WriteLine(m.Value);    m = m.NextMatch(); // 使用 NextMatch 获得下一个}

 

正则表达式小技巧(不断更新中...)