我試圖用一個正則表達式來測試我輸入的文本是否是一個縮寫,假定所有縮寫都是大寫字母,並且在每個字母后都有句號。正則表達式c#重複縮寫
我目前使用:
Regex.IsMatch(textBox4.Text, "([[A-Z].)+"
,但它僅適用於第一個大寫字母和句號。
我試圖用一個正則表達式來測試我輸入的文本是否是一個縮寫,假定所有縮寫都是大寫字母,並且在每個字母后都有句號。正則表達式c#重複縮寫
我目前使用:
Regex.IsMatch(textBox4.Text, "([[A-Z].)+"
,但它僅適用於第一個大寫字母和句號。
正則表達式中的點與任何字符匹配。如果你想匹配一個點,你必須用一個反斜槓\
進行修飾。
所以,你要搜索的正則表達式應該是:
([A-Z]\.)+
if(Regex.IsMatch(textBox4.Text,「([A-Z] \。)+」))我得到一個錯誤無法識別的轉義序列 – user2564113
使用@「([A-Z] \。)+」。 @使它成爲一個原始字符串文字。普通字符串文字有特殊字符,例如\ n代表新行,\ t代表水平製表符。 –
c#使用'\'作爲轉義字符。或者將其作爲'\\'轉義,或者用@前綴字符串讓c#忽略轉義序列。 –
以下是您的正則表達式代碼的樣子(您需要避開「。」)。
Regex r = new Regex(@"([A-Z]\.)+");
Match m = r.Match("A.B."); // this works
m = r.Match("AB"); // this one will fail
m = r.Match("X.Y.Z."); // this works
點在正則表達式匹配任何字符。我認爲它應該逃脫:'([[A-Z] \。)+'不知道這是否是完全解決您的問題。 – LB2