常用正则表达式 捕获组(分组)

1.img标签

//,空格后src以'或"开始.....

Regex reg = new Regex("]*\\ssrc=(['\"]+[^<>'\"]+['\"]+)[^<>]*>", RegexOptions.IgnoreCase);
MatchCollection mc = reg.Matches(html);

foreach (Match m in mc)
{
var src= m.Groups[1].Value;

}

2.textarea标签内容

string text = "";// this.txt_RplayContenet.Text;

Regex reg = new Regex("", RegexOptions.IgnoreCase);
var match=reg.Match(text); //只返回第一个匹配的
if (match.Success)
{
var id = match.Groups[1].Value; //ta  //括号分组,默认正则匹配到的字符串是group[0],第一个括号group[1],第二个括号group[2]
var content = match.Groups[2].Value; //111
}

 

 

 

 

 

3.命名捕获组编号规则

(https://www.cnblogs.com/pmars/archive/2011/12/30/2307507.html)

命名捕获组通过显式命名,可以通过组名方便的访问到指定的组,而不需要去一个个的数编号,同时避免了在正则表达式扩展过程中,捕获组的增加或减少对引用结果导致的不可控。

不过容易忽略的是,命名捕获组也参与了编号的,在只有命名捕获组的情况下,捕获组的编号也是按照“(”出现的顺序,从左到右,从1开始进行编号的。第0个返回匹配到的整个字符串.

正则表达式:(?\d{4})-(?\d{2}-(?\d\d))

 

常用正则表达式 捕获组(分组)_第1张图片

用以上正则表达式匹配字符串:2008-12-31

匹配结果为:

编号

命名

捕获组

匹配内容

0

 

(?\d{4})-(?\d{2}-(?\d\d))

2008-12-31

1

year

(?\d{4})

2008

2

date

(?\d{2}-(?\d\d))

12-31

3

day

(?\d\d)

31

 

 

 

 常用正则表达式 捕获组(分组)_第2张图片

D6B2C47B-427D-4BA0-8A89-FD01FB6D2611 From:http://www.cnblogs.com/xuejianxiyang/p/8256844.html

转载于:https://www.cnblogs.com/xuejianxiyang/p/8256844.html

你可能感兴趣的:(常用正则表达式 捕获组(分组))