C#中 reg.Match() 方法返回的值

              string oriArea = "四川大学中心222";
            Regex regex = new Regex("^(.*)[中心|会场]");
            System.Console.WriteLine(regex.Match(oriArea));
            System.Console.WriteLine(regex.Match(oriArea).Groups[1].Value);

1.我想获取的是oriArea中中心或者是会场之前的数据,但是regex.Match(oriArea)最后得到的是包括中心的,不是应该只是前面不包含中心或会场的元组的内容吗?
2.Groups[1].Value为什么是 四川大学中 呢?

        string str = "四川大学中心asd";
        string put = str.IndexOf("中心")>=0 ? str.Remove(str.IndexOf("中心"), str.Length - str.IndexOf("中心")) : str.Remove(str.IndexOf("会场"), str.Length - str.IndexOf("会场"));
 "^(.*)[(中心)|(会场)]"  

中心和 会场 也要放在 组里,不然就解析为单个字符

^(.*)(中心|会场)

要匹配词组用使用(。。|。。。|。。)格式,而不是[]

 ^(.*)(中心|会场)

1.建议直接截取子字符串,用正则当然也行,但是效率会低一些