Я пытаюсь взять блок чисел, которые могут или не могут иметь разделители и возвращать их в стандартном формате. Использование SSN в качестве примера:
ex1="An example 123-45-6789"
ex2="123.45.6789 some more things"
ex3="123456789 thank you Ruby may I have another"
все должны войти в метод, который возвращает "123-45-6789". В принципе, что-либо (ВКЛЮЧАЯ ничего), кроме числа или буквы, должно возвращать SSN в формате XXX-XX-XXXX. Часть, которая является stumping, является способом регулярных выражений, чтобы идентифицировать, что ничего не может быть.
То, что у меня есть до сих пор в IDENTIFYING my ssn:
def format_ssns(string)
string.scan(/\d{3}[^0-9a-zA-Z]{1}\d{2}[^0-9a-zA-Z]{1}\d{4}/).to_a
end
Кажется, что работает на все, что я ожидаю, КРОМЕ, когда нет ничего. "123456789" не работает. Могу ли я использовать регулярные выражения в этом случае для выявления недостатка чего-либо?