Описание тега boost-xpressive

1 ответ

Какой подстановочный знак в xpressive означает весь конец текста?

С ANSI C PCRE я мог извлекать разделы и их содержимое с помощью: (?ms)^\\[(.+?)\\](.*?)(?=\\n\\[|.\\z) От [sec1] a = b [sec2] c = d я получил [sec1] a = b а также [sec2] c = d Но как я могу сделать это в xpressive?
30 июн '12 в 17:19
1 ответ

Путь к regex_byref_matcher.hpp при использовании xp::sregex::compile

Я заметил, что когда я использую xp:: sregex:: compile в своем коде, строка...\3rdparty\boost-1_58\boost/xpressive/detail/core/matcher/regex_byref_matcher.hpp (с моим локальным путем) появляется в двоичный код, скомпилированный в релизных модах. Ест…
01 мар '16 в 12:50
2 ответа

Использование библиотеки Boost C++ для замены регулярных выражений на пользовательские замены

Я могу использовать Xpressive библиотеки Boost, чтобы выполнить некоторую замену регулярного выражения следующим образом: #include <iostream> #include <boost/xpressive/xpressive.hpp> void replace(){ std::string in("a(bc) de(fg)"); sregex…
05 апр '13 в 10:47
4 ответа

Вложение ИЛИ в регулярных выражениях

Как мне сопоставить выражение, где мне нужно сделать or другого набора? то есть, как мне сопоставить что-то из формата [ [ [ a | b ] | [ x | y ] ] ] где a, b, x и y - строки. Я хочу, чтобы соответствовать фразы, как a b x y a x a y b x b y x a x b y…
1 ответ

Портативный буст.экспрессив

Я хочу использовать Boost.Xpressive в моей домашней работе на C++ и содержать его в своем источнике. Но весь заголовочный файл boost составляет 70 МБ +, так есть ли какой-нибудь автономный дистрибутив xpressive, который содержит только зависимые фай…
18 авг '11 в 15:54
1 ответ

boost::xpressive, чтобы увидеть начало последовательности

Я использую boost::xpressive для анализа моего текстового файла. Я хочу видеть, только если строка начинается с "#" (один или несколько раз). Я использую следующий код std::string str1 = "## this could be my line"; sregex rex1 = sregex::compile("^#+…
11 апр '12 в 21:13
5 ответов

Регулярное выражение: boost::xpressive vs boost::regex

Я хотел сделать несколько регулярных выражений в C++, поэтому я посмотрел на interwebz (да, я новичок / посредник в C++) и нашел этот SO-ответ. Я действительно не знаю, что выбрать между boost:: regex и boost:: xpressive. Какие плюсы / минусы? Я так…
12 май '11 в 18:36
2 ответа

Не удается найти соответствие с boost xpressive динамическое регулярное выражение

Edit8: я сначала опубликовал решение для тех, кто может прийти после меня с той же проблемой. Решение: Назначено регулярное выражение с = вместо вызова оператора (). Работал нормально. Это было глупо. #include <iostream> #include <string&gt…
31 окт '12 в 01:30
1 ответ

Повысьте Xpressive Sregex назначение и захват группы проблемы

Я замечаю странное поведение в назначениях boost xpressive sregex. Смотрите код ниже. Первый фрагмент кода, который не работает, имеет sregex, имеет предварительные присвоения объекта и затем используется в основном выражении позже. Второй фрагмент …
09 май '13 в 15:37
2 ответа

Когда я должен предпочесть boost::regex (или boost::xpressive) перед boost:: алгоритмом

Я думал, что двигатели Boost Regex будет быстрее, чем Boost:: алгоритмЭтот простой тест показывает, что алгоритм Regex побеждает с большим отрывомЭто вся тестовая программа Я что-то пропустил? #include "boost/algorithm/string.hpp" #include "boost/re…
24 май '11 в 18:59
1 ответ

Какой подход Xpressive лучше всего уменьшить использование стека

Я широко использую Xpressive в моем текущем проекте C++. Как я знаю, Xpressive - отличный пользователь стека. Но есть ли в Xpressive подходы регулярных выражений, которые более эффективны в стеке? Например, регулярное выражение для совпадения со стр…
05 окт '12 в 15:08
0 ответов

Boost Xpressive - почему случай сбоя этого регулярного выражения экспоненциальный?

Я использую простое регулярное выражение для сопоставления со строкой, прочитанной из ОС, которая имеет следующий формат: отметка времени:{список значений через запятую} Где отметка времени не подписана, значения не подписаны Для этого я использовал…
08 окт '13 в 07:03
1 ответ

Xpressive >>= Оператор

Я играю с Boost Xpressive и испытываю проблемы со следующим фрагментом #include <iostream> #include <string> #include <boost/xpressive/xpressive.hpp> using namespace std; using namespace boost::xpressive; int main() { string s("123…
10 фев '11 в 22:57
3 ответа

Токенизируйте строку, исключая разделители внутри кавычек

Прежде всего позвольте мне сказать, что я подробно рассмотрел все другие решения этой проблемы на SO, и хотя они очень похожи, ни одно из них полностью не решило мою проблему. Мне нужно извлечь все токены, исключая кавычки (для указанных), используя…
24 окт '11 в 05:49
2 ответа

Повысить xpressive! оператор не работает

Я только начал использовать Boost::xpressive и нашел отличную библиотеку... Я просмотрел документацию и попытался использовать! оператор (ноль или единица), но он не компилируется (VS2008). Я хочу сопоставить адрес sip, который может начинаться или …
14 сен '10 в 11:54
1 ответ

Как сопоставить многострочный текст?

string str = "hello world!\r\naa=`xxx_1`\r\nhello world!"; sregex rx = sregex::compile(".+=`(.+)_1`"); smatch what; if( regex_match( str, what, rx ) ) { std::cout << what[1] << '\n'; } это не может работать, я использую boost.xpressive, …
18 июн '12 в 02:39
1 ответ

recursive boost::xpressive, использующий слишком много памяти

Привет буст::xpressive пользователи, Я получаю ошибку переполнения стека при попытке проанализировать некоторые деревья решений с boost::xpressive. Кажется, что он работает для деревьев до определенного размера, но не работает на "больших" деревьях,…
01 июн '18 в 01:40
1 ответ

Как я могу использовать оператор "new" в семантическом действии boost::xpressive?

Кажется, что boost:: xpressive не предоставляет лениво оцененную версию new оператор, поэтому это семантическое действие не будет компилироваться: using namespace boost::xpressive ; std::vector<int*> vec ; // Match any integer and capture into…
29 ноя '11 в 15:25
2 ответа

Низкая производительность с использованием Boost Xpressive

В последнее время я использую boost xpressive для анализа файлов. Эти файлы имеют размер 10 МБ каждый, и их будет несколько сотен для анализа. Xpressive приятен в работе и имеет четкий синтаксис, но проблемы связаны с производительностью. Невероятно…
13 мар '18 в 17:46
1 ответ

Нечувствительное к регистру совпадение с Boost Xpressive

Я просто не могу получить regex_match функция для поиска регистронезависимых совпадений. Даже если boost::xpressive::regex_constants::icase определяется, и я использую приведение (так что нет никакой двусмысленности icase метод Xpressive), я получаю…
26 июл '13 в 09:17