2009-11-16 17 views
6

有人能告訴我什麼的正則表達式的語法將是隻允許下列字符:正則表達式爲a-z,0-9,。和 -

  • AZ(僅小寫)
  • 0-9
  • 期間,短劃線,下劃線

此外,字符串必須以小寫字母(az)開頭,並且不能包含任何空格或其他字符,而不是上面列出的字符。

預先感謝您的幫助, 賈斯汀

回答

10

你可以這樣做:"^[a-z][-a-z0-9\._]*$"

這裏被擊穿

  • ^行首
  • [a-z]較低值字符類,以匹配第一個字母
  • [-a-z0-9\._]字符類爲所需的值
  • *零個或多個最後級的字符串的
  • $
+0

這是錯誤的。將不匹配破折號,而是有一個從點到下劃線的範圍。 – 2009-11-16 19:43:40

+0

當我用下面的字符串使用這個正則表達式:「test」,我得到這個錯誤: 「preg_match()[function.preg-match]:沒有結尾分隔符'^'找到」 任何想法這意味着什麼? – Justin 2009-11-16 19:47:35

+0

'*'是零個或多個重複,而不是一個或多個。 – 2009-11-16 19:47:50

0
^[a-z][a-z0-9._\s-]* 
+1

這是錯誤的。不符合破折號,它必須是字面上的第一個或最後一個。 – 2009-11-16 19:44:34

+0

固定,謝謝注意 – Dmitry 2009-11-16 19:48:53

2
[-._a-z0-9] 

[-.[:lower:][:digit:]] 

或其餘...

取決於其中正則表達式的目標版本。

+0

我將在php中使用preg_match。 – Justin 2009-11-16 19:43:27

+0

然後它是 /^[a-z][-._a-z0-9]*$/ – 2009-11-16 19:52:43

相關問題