使用(表达式)对表达式进行分组,例如使用(\d{3}\.){2}匹配下面例子中的数字:
abc123.456.def
\d{3}表示三个数字,(\d{3}\.)表示三个数字加“.”为一组,{2}表示这一组内容重复两次
在对表达式进行分组的时候,会捕获文本到自动命名的组里,使用
\1 \2 …… 后向引用组
例如用([a-z]*)\ (\d*)匹配下列文本,([a-z]*)为\1组,(\d*)为\2组
kardinal 1234567
使用\2\ \1替换([a-z]*)\ (\d*),可以改变两个字符串的顺序
1234567 kardinal
如果分组较多,计数可能会不太方便,可以给分组指定名称,例如:
(?<name>[a-z]*)\ (?<num>\d*)
\k<num>\ \k<name> (?#使用“\k<name>”后向引用)
使用(?:表达式),则只是分组,而不捕获,下面例子中,(\d*)为\1组
(?:[a-z]*)\ (\d*)