2012-07-28 39 views
1

我有2個紅寶石regexps。第一個正則表達式是爲字母和數字一樣東西:正則表達式紅寶石有效的字母數字和數字

letter_digits = /^([0-9]*[a-zA-Z][a-zA-Z0-9]*)$/ 

有了,如果我只寫數字564521不匹配此正則表達式!

不過,我有這樣的正則表達式僅數字:

only_digits = /^([0-9])*$/ 

但隨着這個表達式,如果我寫s45xo不匹配!

我只需要1的正則表達式都字母/數字數字有效

回答

5

嘗試:letter_digits = /^[0-9a-zA-Z]*$/

您的第一個正則表達式/^([0-9]*[a-zA-Z][a-zA-Z0-9]*)$/說,應該有數字(0或以上),則信(1),然後數字或字母(0或更多)。

我的建議是閱讀一些有關正則表達式,例如tutorial

+0

非常感謝您!它確實工作正常! – hyperrjas 2012-07-28 12:25:47

+0

不,因爲「這不應該\ nmatch」=〜/^[0-9a-zA-Z] * $/ – pguardiario 2012-07-28 13:02:29

+0

該字符串不應與正則表達式匹配。 – pguardiario 2012-07-28 14:09:21

2

最簡單的正則表達式是:

/\A[a-z\d]*\Z/i