2017-10-05 37 views
0

我需要一個匹配至少包含一個字母的字符串的正則表達式A-Z以及可選的任意數字和組合.-¤(點,短劃線和「sun」(它在英語中稱爲什麼? ))。正則表達式查找字母和特定的可選字符

匹配的字符串會

A 

AB 

A-. 

¤A 

但不是

-. 

¤ 

,因爲他們沒有收到任何信件。

我的第一次嘗試當然是^[A-Z¤-.]*$,但它匹配沒有字母的字符串。

[A-Z]+與至少一個字母

[¤.-]*匹配字符串可能有¤.-在他們

我一直在努力,這兩個最後的多種方式結合起來,但還沒有設法解決匹配字符串我的問題。

當我不能指望字母和字符之間有任何特定的順序時,是否有辦法將這兩個最後的正則表達式結合起來?同時排除任何其他字符?

也許羣體或非捕獲羣體與它有關,但我還沒有完全理解這些。

PS我正在使用DB2函數REGEXP_LIKE來實現它。

回答

1

您可以使用

^[A-Z.¤-]*[A-Z][A-Z.¤-]*$ 

詳細

  • ^ - 0+大寫字母,.¤-
  • [A-Z] - - 一個upperca串
  • [A-Z.¤-]*開始SE信
  • [A-Z.¤-]* - 0+大寫字母,.¤-
  • $ - 字符串的結尾。

看如何this regex matches sample strings

相關問題