C++: какой regex библиотекой я должен пользоваться? [закрытый]

Указатель NULL - это тот, который указывает на никуда. Когда вы разыскиваете указатель p, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p является нулевым указателем, местоположение, хранящееся в p, является nowhere, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception.

В общем, это потому, что что-то не было правильно инициализировано.

106
задан durron597 2 September 2015 в 02:01
поделиться

7 ответов

Спасибо за все предложения.

я испытал несколько вещей сегодня, и с материалом мы пытаемся сделать, я выбрал простое решение, где я не должен загружать никакую другую стороннюю библиотеку. В конце, я #include < regex.h> и используемый стандарт C POSIX называет regcomp () и regexec (). Не C++, но в повышении это оказалось самым легким.

22
ответ дан Stéphane 24 November 2019 в 03:51
поделиться

Повышение. Regex очень хорош и намечен для становления частью C++ 0x стандарт (это уже находится в TR1).

Лично, я нахожу Повышение. Xpressive, намного более хороший работать с. Это - библиотека только для заголовка, и это имеет некоторые хорошие функции, такие как статический regexes (regexes скомпилированный во время компиляции).

Обновление: , Если Вы используете C++ 11 совместимых компиляторов (gcc 4.8 не!), используйте станд.:: regex, если у Вас нет серьезного основания использовать что-то еще.

80
ответ дан Mark Lakata 24 November 2019 в 03:51
поделиться

В проектах C++ мимо, я использовал PCRE с хорошим успехом. Это очень завершено и хорошо протестировано, так как это используется во многих высоких проектах профиля. И я вижу, что Google внес ряд оберток C++ для PCRE недавно, также.

19
ответ дан Greg Hewgill 24 November 2019 в 03:51
поделиться

C++ имеет встроенную regex библиотеку начиная с TR1. regex библиотека Повышения AFAIK очень совместима с ним и может пользоваться как замена, если Ваша стандартная библиотека не обеспечивает TR1.

16
ответ дан Kasprzol 24 November 2019 в 03:51
поделиться

Повышение имеет regex в нем.

, Который должен подойти

10
ответ дан Robert Gould 24 November 2019 в 03:51
поделиться

Я лично всегда использовал boost.regex (хотя у меня нет большого количества потребности в regex в C++). Microsoft Labs имеет regex библиотеку также, названный GRETA: http://research.microsoft.com/projects/greta/ . По-видимому, это очень быстро и показывает целый синтаксис Perl 5. Я не использовал его, но можно хотеть проверить его.

6
ответ дан Roel 24 November 2019 в 03:51
поделиться

Я столкнулся с похожей ситуацией и в итоге использовал Henry Spencers Regexp Engine http://www.codeproject.com/KB/string/spencerregexp.aspx

4
ответ дан 24 November 2019 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: