2011-12-02 109 views
3

那麼我的問題很簡單,我想匹配的字符串與下列屬性正則表達式匹配包含字母串,只強調

  • 沒有空格
  • 必須以字母開頭
  • 不得包含以外的任何其它特殊字符下劃線
  • 可能包含數字

請創建這樣一個正則表達式幫助。

+0

什麼是你的 '信' 的定義是什麼? A-Z? – Cameron

回答

10
^[a-zA-Z][a-zA-Z0-9_]*$ 

解剖它:

  • ^線的開始/串
  • [a-zA-Z]以字母開頭
  • [a-zA-Z0-9_]*後跟零個或多個字母,下劃線或數字。線
  • $端/串

如果您需要考慮的Unicode,那麼下面可能是更明智的:

^\p{L}[\p{L}\p{Nd}_]*$ 

這將匹配不僅ASCII字母和數字,但在所有的腳本受Unicode支持。數字僅限於十進制數字,因此您不會獲得羅馬數字。

+0

非常好。奇蹟般有效。謝謝。 –

1
/^[a-zA-Z]\w*$/ 

a-Z - 先從字母

\w - 所有leters,數字和下劃線

+1

'\ w'匹配比'a-zA-Z'更多的字母,但是(這也是我爲字符串的其餘部分明確使用字符類的原因)。 – Joey

相關問題