Qual é o método correto de validar uma string de entrada de forma que ela possa conter apenas 0-9, a-z e "."? O primeiro e último caractere não deve ser um ".".
Eu estou usando atualmente;
validates_format_of :lagrange, :with => /[0-9a-z.]/
e tentei muitas variantes, mas não consigo entender isso.
Respostas:
0 para resposta № 1Use lookahead de asserção de largura zero
/^(?!.*[.]$)(?![.])[a-z0-9.]+$/
---------
+
é um quantificador para corresponder 1 a muitas vezes
^
marca o começo e $
marca o fim da string / linha ..
0 para resposta № 2
Os limites da palavra são seus amigos:
/Ab[a-zd.]*bz/
Veja porque?