2013-06-12 19 views
0

Мне нужно проанализировать строку в C++, чтобы увидеть, соответствует ли она данному шаблону. Предполагается, что это строка символов, точек и косых черт и т. Д., И мне нужно разобрать ее и посмотреть, будет ли каждая ее часть такой, какой она должна быть.Анализ строки C++

Например, это должен быть символ, затем «/», затем некоторые символы, затем какой-либо другой разделитель (допустим, «:») и некоторые символы и т. Д. Я получаю строку str, и мне нужен метод для проанализировать его и сравнить каждый бит с данным шаблоном.

Как это сделать?

+0

Похоже, регулярные выражения будет отвечать вашим потребностям. Регулярные выражения - это стандартизованный способ выражения шаблонов, которые должны быть сопоставлены с последовательностями символов. Посмотрите, например, на . –

+5

Используйте [''] (http://www.cplusplus.com/reference/regex/) или другой механизм регулярных выражений. (Из которых, вероятно, много.) – millimoose

+3

Как насчет 'boost :: regex'? –

ответ

0

Если вы не хотите связываться с внешними библиотеками, вы можете уйти с использованием токенизатора строки C strok.

Вы могли бы сделать что-то вроде

string var = strtok(stringToParse, "./"); 
while(var!=NULL){ 
    ... 
var = strtok(NULL, "./"); 
} 
Смежные вопросы