Игнорировать регистр с помощью boost ::regex_search

#c #boost-regex #ignore-case

#c #boost-регулярное выражение #игнорировать регистр

Вопрос:

Как вы используете boost::regex_search флаги или константы игнорирования регистра в C ?

Пожалуйста, опубликуйте простой пример.

Спасибо!

Ответ №1:

Вам нужно что-то вроде этого

 boost::regex regex("your expression here", boost::regex::icase);
boost::smatch what;

string mystring;
bool search_result = boost::regex_search(mystring.begin(),mystring.end(), what, regex);
  

Комментарии:

1. Вы можете опустить параметр «что» (результаты сопоставления), если он вам не нужен, и вы можете передать саму строку вместо ее итераторов.

Ответ №2:

Или что-то вроде этого (без настройки boost::regex::icase ):

 boost::regex regex("(?i)expression");
boost::smatch what;

string mystring;
bool search_result = boost::regex_search(mystring.begin(),mystring.end(), what, regex);