簡體   English   中英

正則表達式選擇[AZ],但連續兩個空格除外

[英]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 ]+\b

您可以嘗試一下。請參閱演示。

https://regex101.com/r/tJ2mW5/20

這應該可以解決您的問題:

([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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM