C ++ регулярное выражение: преобразовать C # регулярное выражение в C ++ Linux - PullRequest
1 голос
/ 18 января 2011

Могу ли я преобразовать это регулярное выражение в c #:

Regex (@"\s*nameserver\s+(?<address>.*)")
Regex (@"\s*search\s+(?<domain>.*)")

в std :: tr1 :: regex или в regex.h в C ++?(Linux)

спасибо!

Ответы [ 3 ]

1 голос
/ 18 января 2011

Я не знаю пакета std :: tr1 :: regex, но если он фактически основан на boost :: regex, то перевод этих регулярных выражений должен быть тривиальным:

"\\s*nameserver\\s+(?<address>.*)"
"\\s*search\\s+(?<domain>.*)"

Вам нужно избегать обратной косой черты при построении строки, содержащей регулярное выражение. Кроме того, эти два регулярных выражения не используют никаких функций, которые не может обработать Perl-совместимый движок boost :: regex.

0 голосов
/ 19 января 2011

std::tr1::regex в GCC не завершен.std::regex есть ошибки.

Рассмотрим boost::regex.

0 голосов
/ 18 января 2011

Для чего стоит, если вы используете g ++, вам не повезло: регулярные выражения в настоящее время не реализованы в g ++ / tr1:

http://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html#status.iso.tr1

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...