boost::regexp: рекурсия в регулярном выражении?
От: 1234  
Дата: 31.08.06 08:00
Оценка:
Hello!
Использую boost::regexp.
Очень хочу написать регулярное выражение, которое будет захватывать строку вида:
//захватить нужно то что выделенно жирным
bla bla bla  BODYSTRUCTURE ((("text" "plain" ("CHARSET" "koi8") NIL NIL "quoted-printable" 83 8)("text" "html" "mixed"))) bla bla bla


т.е. вложенность скобок может быть какая-угодно, главное — что б сколько открылось — столько и закрылось. Внутри тоже в принципе значения не имеет что...
Захват такой строки возможно реализовать регулярным выражениям в принципе?
Re: boost::regexp: рекурсия в регулярном выражении?
От: kan_izh Великобритания  
Дата: 31.08.06 08:26
Оценка: 2 (1)
1234 wrote:

> т.е. вложенность скобок может быть какая-угодно, главное — что б сколько

> открылось — столько и закрылось. Внутри тоже в принципе значения не
> имеет что...
Нет, регулярными выражениями теоретически невозможно обрабатывать рекурсивные структуры (вложенность скобок).
Используйте boost::spirit.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[2]: boost::regexp: рекурсия в регулярном выражении?
От: Константин Л. Франция  
Дата: 31.08.06 10:27
Оценка:
Здравствуйте, kan_izh, Вы писали:

_>1234 wrote:


>> т.е. вложенность скобок может быть какая-угодно, главное — что б сколько

>> открылось — столько и закрылось. Внутри тоже в принципе значения не
>> имеет что...
_>Нет, регулярными выражениями теоретически невозможно обрабатывать рекурсивные структуры (вложенность скобок).
_>Используйте boost::spirit.

в регулярных выражениях есть рекурсия. Правда я не знаю, то ли это, что нужно
Re[3]: boost::regexp: рекурсия в регулярном выражении?
От: kan_izh Великобритания  
Дата: 31.08.06 11:12
Оценка:
Константин Л. wrote:

> Правда я не знаю,

Ок. так узнайте.
Posted via RSDN NNTP Server 2.0
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.