Я преобразовываю регулярные выражения на основе boost в C++ 11 regex. У меня есть группа под названием захвата url
:C++ 11 Regex Capture Groups По имени
\s*?=\s*?(("(?<url>.*?)")|('?<url>.*?)'))
С повышением, если вы имели smatch
вы могли бы назвать match.str("url")
, чтобы получить группу захвата по имени. С std::smatch
я вижу только индексированные подзаголовки.
Как я могу получить доступ к захвату URL, используя класс std :: smatch?
Вы пробовали '(? P. *?)' Вместо '(? . *?)'? –
HamZa
@HamZa Я не уверен, поддерживает ли C++ 11 regex названные группы захвата. Я просто прочитал всю главу, посвященную этой теме в новом «языке программирования C++» в Stroustrup, и он даже не упоминает об этом. И многие из онлайн-ссылок, похоже, не указывают иначе. –
Кажется, он не поддерживает именованные группы в соответствии с этим [ответ] (http://stackoverflow.com/a/6398650). – HamZa