2015-04-01 89 views
-2

條件數:我需要的正則表達式幫助,以便與字符

123   not valid 
123 A   valid 
abc123  valid 
abc123Ab  valid 

我不得不用數字應用正則表達式強制性質?

+2

你嘗試過什麼嗎? – JFPicard 2015-04-01 13:05:55

+0

您可以使用在線工具來實現測試您的正則表達式,如:https://www.debuggex.com/ – Richard 2015-04-01 13:22:37

回答

0
(([a-zA-Z\s])*(\d{1,})([a-zA-Z\s]){1,}|([a-zA-Z\s]){1,}(\d{1,})([a-zA-Z\s])*) 

該表達式的第一部分將確保的字符串可以就沒有任何的字母但ATLEAST 1位必須存在,並應與1個或許多信結束。第二部分將確保字符串可以以至少1個字母開頭,其後是至少1個數字,然後是0或任意數量的字母。

1

這將匹配任何字符串,以可選的一組數字開頭,後面跟着空格,字母和數字的組合。但它仍然匹配123_(這是123 followed by a space`)

^\d*[\sa-zA-Z0-9]+$ 

下面將檢查您是否已經在你的字符串與可選的數字,空格和字母組合的至少一個字母。

[a-zA-Z\s\d]*[a-zA-Z]+?[a-zA-Z\s\d]* 
  • [a-zA-Z\s\d]匹配存在於[]單個字符。之間的零和無限的時間,儘可能地,用之於根據需要多次[貪婪]
  • 量詞:
  • 量詞*+?之間一個和無限的時間,儘可能少的時間儘可能,擴大根據需要[懶]