2015-01-22 3 views
0

Мне нужно проверить некоторые пользовательские вводные данные на основе определенных стандартных выражений. Однако я хочу сделать вещи немного легкими для пользователя, поэтому я хотел бы создать диалог с конкретными элементами управления вводом, основанный на самом регулярном выражении. Так, например, с учетом следующего регулярного выражения Start position [0-9] End Position [0-9] Я хотел бы иметь возможность генерировать диалог с двумя полями со значениями. Есть ли какая-либо библиотека C++, которую я могу использовать для синтаксического анализа регулярного выражения и определения того, какой вход он нужен, чтобы я мог динамически генерировать диалог и элементы управления?Библиотека C++ для разбора регулярных выражений

+0

Я не знаю никаких библиотек, которые предоставляют * только * эту функциональность, но наиболее хорошо реализованные библиотеки регулярных выражений будут создавать структурное представление регулярного выражения перед его применением (часто в функции, называемой 'compile'). Если вы найдете библиотеку регулярных выражений с открытым исходным кодом, вы можете вырвать эту часть из нее (если она не является внешней). –

ответ

0

С C++ 11 стандартная библиотека C++ имеет библиотеку регулярных выражений (std::regex в файле #include<regex>).

Чтобы извлечь значения из обычного выражения, вы можете использовать boost spirit. (см. www.boost.org).

+1

Это не будет делать то, о чем они просят. Они хотят самостоятельно анализировать регулярные выражения. –

Смежные вопросы