[英]Regex Select [A-Z ] except two consecutive spaces
我一直在嘗試創建一個正則表達式來匹配AZ和一個空格中的所有字母。 我希望它在超過1個連續空間時停止。 我也不希望包含破折號。 這是在基於C#的程序中作為字符串調用並返回的。 我計划在導入字符串后將其尾部裁剪成1,以刪除尾部的空格(如果最終由正則表達式返回)。
TERRA MARVELLOUS LUX -
到目前為止,我已經嘗試了多種表達式,到目前為止我能想到的最好的方法是
^[A-Z (?!\s{2,})]*
以及
^[A-Z ]*(?:\s{2})
等等,我可以列出更多我一直在嘗試的內容。 我很困。
這應該可以解決您的問題:
([A-Z]+[ ]{1})+
主要思想是匹配至少具有AZ個字符的所有組,然后具有一個空格並至少匹配一次模式。
和示例: https : //regex101.com/r/tJ2mW5/21
如果您只想用連字符去除最后的空格,可以使用
var t1 = "TERRA MARVELLOUS LUX -";
var rx2 = new Regex(@"\s+\-?$");
var res = rx2.Replace(t1, string.Empty);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.