我在ruby中有2个正则表达式。第一个正则表达式用于字母和数字,如:
letter_digits = /^([0-9]*[a-zA-Z][a-zA-Z0-9]*)$/
使用此正则表达式,如果我只写数字564521
不匹配!
但是我的这个正则表达式只有数字:
only_digits = /^([0-9])*$/
但如果我写这个正则表达式s45xo
不匹配!
字母/数字和数字我只需 1正则表达式有效。
答案 0 :(得分:5)
尝试:letter_digits = /^[0-9a-zA-Z]*$/
你的第一个正则表达式/^([0-9]*[a-zA-Z][a-zA-Z0-9]*)$/
表示应该有数字(0或更多),然后是字母(1),然后是数字或字母(0或更多)。
我的建议是阅读有关regexp的内容,例如tutorial
答案 1 :(得分:2)
最简单的正则表达式是:
/\A[a-z\d]*\Z/i