用正则表达式解释C#分组构造