Использование boost :: regex для сопоставления двух целых слов

0

Это кажется очень простой проблемой, но независимо от того, что я пытаюсь выразить, я не могу прочитать имена.

Задача здесь состоит в том, чтобы сопоставить две строки случайной длины (имя кого-то), а затем номер идентификатора после слов в этом формате: Joe Blow 123-456-678

Я использую boost :: regex_search для этого.

Пока я пробовал эти выражения, и они не работали.

"\\w{15}? \\s? \\w{15}? \\s? \\d{3}-\\d{3}-\\d{3}"

"\\w* \\s \\w* \\s \\d{3}-\\d{3}-\\d{3}"

"\\w+ \\s \\w+ \\s \\d{3}-\\d{3}-\\d{3}"

Я попробовал еще несколько небольших вариантов этого, но ничего не сработало. Это первый раз, когда вы используете регулярное выражение, поэтому, если некоторые из вас профи, и это глупо просто, пожалуйста, успокойтесь.

  • 0
    Проблема в том, что все ваши выражения требуют 3 пробела между словами.
Теги:
string
search
boost

1 ответ

4
Лучший ответ

Попробуйте использовать

"^[a-zA-Z]+? [a-zA-Z]+? \\d{3}-\\d{3}-\\d{3}$"

и посмотрите, работает ли он или нет

  • 0
    Спасибо за ваш ответ, но, к сожалению, это не сработало: /
  • 0
    Хм, вы уверены, что ввод в этом формате? "слова слова 3digits-3digits-3digits"?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню