我一直试图创建一个正则表达式来匹配来自A-Z和单个空格的所有字母。我希望它在超过1个连续空间时停止。我也不想包括破折号。这被调用并作为基于C#的程序中的字符串返回。我计划在导入后将字符串裁剪为1,以删除末尾的空格(如果最终由正则表达式返回)。
TERRA MARVELLOUS LUX -
到目前为止,我已尝试过多种表达方式,目前为止我能提出的最佳表达方式是
^[A-Z (?!\s{2,})]*
以及
^[A-Z ]*(?:\s{2})
依此类推,我可以列出更多我一直在尝试的内容。我很困惑。
答案 0 :(得分:2)
答案 1 :(得分:2)
这可以解决您的问题:
([A-Z]+[ ]{1})+
主要思想是匹配A-Z中至少一个字符的所有组,然后有一个空格并至少匹配一次该模式。
答案 2 :(得分:0)
如果您想用连字符去除最终空格,可以使用
var t1 = "TERRA MARVELLOUS LUX -";
var rx2 = new Regex(@"\s+\-?$");
var res = rx2.Replace(t1, string.Empty);