一、捕获:()
此分组字符组合模式在括号内匹配的字符。它是一个捕获组,也就是说被模式匹配的字符成为最终匹配的一部分,除非设定了选项ExplicitCapture,此选项意味着默认情况下字符不是匹配的一部分。
假设有如下输入字符串:ABC1|DEF2XY。下面的正则表达式匹配了从A到Z的3个字符,然后是一个数字:
([A-Z]{3})/d
此表达式产生如下两个匹配:
1st Match=ABC1
2nd Match=DEF2
每一次匹配都含有一个组:
1st match's 1st group =ABC
2nd match's 1st group =DEF
二:非捕获组:(?:)
此分组符号组合了模式在括号中匹配的字符。它是一个非捕获组。这意味着模式所匹配的字符将不作为一个组来捕获,但它将构成最后匹配结果的一部分。
三:通过名称捕获:(?<name>)