LINUX.ORG.RU

История изменений

Исправление DarkEld3r, (текущая версия) :

Регулярку в машкод?

Речь о том, чтобы не парсить регекспы в рантайме. std::regex так не умеет, а Boost.Xpressive изобретает для этого особый синтаксис:

// Compile time:
sregex rex = (s1= +_w) >> ' ' >> (s2= +_w) >> '!';
// Runtime:
sregex rex = sregex::compile( "(\\w+) (\\w+)!" );
Просто для справки, D или Rust умеют это делать используя стандартный синтаксис на строках.

Исходная версия DarkEld3r, :

Регулярку в машкод?

Речь о том, чтобы не парсить регекспы в рантайме. std::regex так не умеет, а Boost.Xpressive изобретает для этого особый синтаксис:

// Compile time:
sregex rex = (s1= +_w) >> ' ' >> (s2= +_w) >> '!';
// Runtime:
sregex rex = sregex::compile( "(\\w+) (\\w+)!" );
Просто для справки, D или Rust умеют это делать использую стандартный синтаксис на строках.