LINUX.ORG.RU

Регулярные выражения C++

 , ,


0

1

Есть ли готовые библиотеки(классов) С++ для работы со строками с использованием регулярных выражений?
В процессе гугления ничего не нашел, но на python таковые имеются.
В конце концов, конечно, можно и самому написать, но очень бы не хотелось.

★★★★★

Последнее исправление: CYB3R (всего исправлений: 2)

Терминальная стадия упоротости

Тебя уже не спасти.

Во-первых - какого [5.1] ты пишешь «c++» в русской раскладке?

Во-вторых - при чем здесь ООП?

В-третьих - такие вещи как QRegExp и std::regex тебе в гугле не попались, да?

Stil ★★★★★
()
Ответ на: Терминальная стадия упоротости от Stil

Первокурсники - они такие

1) Лень менять раскладку 2) При том что больше чем уверен что надо будет переделывать под себя. Наследовать библиотечный класс - проще, чем копипастить всю функцию. 3) Нет, не попадались, но спасибо)

mersinvald ★★★★★
() автор топика

Есть ли готовые библиотеки(классов) С++ для работы со строками с использованием регулярных выражений?

man 3 regexec

Это не C++, это glibc. Тем не менее, оно вполне рабочее.

emulek
()
Ответ на: комментарий от grondek

Не переписывать, а добавить одну ф-ю.
Мне нужно вернуть номер элемента. Хотя уже не нужно - я открыл для себя функции string хд

mersinvald ★★★★★
() автор топика

марш читать учебник по крестам

там есть про std::regex

зыж здесь один упорыш уже пишет свою библиотеку своих регулярных выражений на скобках. присоединяйся к нему.

anonymous
()
Ответ на: марш читать учебник по крестам от anonymous

там есть про std::regex

А они уже рабочие? В последний раз (примерно весной) на g++ (4.8 кажется) они были абсолютно в невменяемом состоянии, шланг тоже от них тошнило. Пришлось заюзать бустовую реализацию.

DELIRIUM ☆☆☆☆☆
()
Ответ на: комментарий от mersinvald

А я не о том. В C++ не все классы пригодны для наследования, причем из стандартной библиотеки - почти все.

Begemoth ★★★★★
()
Ответ на: комментарий от Begemoth

std::vector это шаблон класса? Переделай под себя наследованием :-)

Нужно только помнить, что у него нет виртуального деструктора.

mix_mix ★★★★★
()

Есть ли готовые библиотеки(классов) С++

Есть. Boost.

no-such-file ★★★★★
()
Ответ на: комментарий от mix_mix

Нужно понимать, что у него нет виртуальных фунций. Т.е. наследованием ты не изменишь поведение std::vector.

Begemoth ★★★★★
()
Последнее исправление: Begemoth (всего исправлений: 1)
Ответ на: комментарий от mersinvald

Тут C++, так что либо в классе есть виртуальный деструктор, тогда от него можешь наследоваться, либо этого делать не стоит. Так что используй композицию классов. А функции просто дергать из своей программы тебе кто мешает?

hlebushek ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.