一個(gè)正則表達(dá)式匹配結(jié)果可以分成多個(gè)部分,這就是組(group).
把一次match結(jié)果用(?<name>)的方式分成組,例子:
public static void main()
{
string s = "2005-2-21";
regex reg = new regex(@"(?<y>/d{4})-(?<m>/d{1,2})-(?<d>/d{1,2})",regexoptions.compiled);
match match = reg.match(s);
int year = int.parse(match.groups["y"].value);
int month = int.parse(match.groups["m"].value);
int day = int .parse(match.groups["d"].value);
datetime time = new datetime(year,month,day);
console.writeline(time);
console.readline();
}
也可以根據(jù)正則里面()的順序,使用編碼訪問組.第一個(gè)括號(hào)對(duì)包涵的組被自動(dòng)編號(hào)為1,后面的括號(hào)依次編號(hào)為2、3……
訪問方式:match.groups[1].value
另外也可以用(?<數(shù)字>)的方式手工給每個(gè)括號(hào)對(duì)的組編號(hào)
苦悶的是如果過一段時(shí)間不使用正則的話,里面的符號(hào)很容易就忘記了,:-)
新聞熱點(diǎn)
疑難解答
圖片精選