2017-03-14 59 views
-1

我是新來的正則表達式,並試圖建立一個表達式,其中我想檢查字符串的前三個字母是大寫?Newbee試圖正則表達式

我有這樣的表達「ALB.latin」或CAT.Cyrillic等。我只想檢查點/句點前的前三個字母是大寫還是小寫點後的字母都是標題大寫。

我試圖在FME測試過濾器^[A-Z]{3}\.[A-Za-z]$中構建表達式。

+0

刪除字符串定位符的$ $結尾。使用'^ [A-Z] {3} \。[A-Za-z]'。什麼是您使用它的編程語言/方法? –

+0

你可能想匹配文字'.',所以你必須將其轉義'\ .' –

+1

@MuratK:它被轉義了,問題格式錯了。 –

回答

0

您需要從該模式中刪除$定位點,因爲它要求在最後一個[A-Za-z]子模式匹配大寫字母后,字符串的末尾纔會出現。

如果你只需要檢查,如果字符串以3個ASCII大寫字母,.和ASCII字母開頭,使用

^[A-Z]{3}\.[A-Za-z] 

或者,如果你還需要確保有1個或多個ASCII字母僅在最後,添加+[A-Za-z]$之間,以匹配在[a-zA-Z]字符類中定義的1個或多個符號:

^[A-Z]{3}\.[A-Za-z]+$ 

regex demo

0

希望這會給你解決方案。

^[A-Z]{3}\.[A-Z][a-z]*$ 

有了這個,DOT後的Letter將在標題情況下。但在DOT之後至少應有一個標題案例信件。