d'une chaîne d'un numéro de téléphone portable, je dois vous assurer que la seule chaîne donnée contient des chiffres 0-9
, (
, )
, +
, -
, x
, et dans l'espace. Comment puis-je le faire dans Ruby?Comment puis-je tester si une chaîne contient uniquement des caractères dans un ensemble donné?
1
A
Répondre
2
Utilisation:
/^[-0-9()+x ]+$/
par exemple .:
re = /^[-0-9()+x ]+$/
match = re.match("555-555-5555")
2
if (/^[-\d()\+x ]+$/.match(variable))
puts "MATCH"
else
puts "Does not MATCH"
end
1
utilisation String#count:
"+1 (800) 123-4567".count("^0-9+x()\\- ").zero? # => true
"x invalid string x".count("^0-9+x()\\- ").zero? # => false
syntaxe Ruby RegEx est empruntée à Perl. Comme vous le savez regex en Perl, vous pouvez utiliser la même chose ici aussi. – dheerosaur