Вопрос о регулярных выражениях CAtlRegExp
От: Glenn  
Дата: 24.02.10 10:43
Оценка:
Я попытался использовать регулярные выражения из CAtlRegExp для нижеследующей задачи, но у меня не получилось. Может кто знает как это сделать (или использовать нечто другое вместо CAtlRegExp)?

Мне надо выделить в тексте блок такого типа:


----
some text
MyGUID
some text
----

беря в расчёт то что строки "----" могут встречаться и ВНЕ этого блока.
Это я сделал с помощью шаблона (может и не вполне рационального) ".*{----.*MyGUID.*?----}.*".

ОДНАКО потом выяснилось что эти сепараторы "----" могут иметь разную длину — это может быть и "---" и "------". Можно ли такой блок выделить с помощью regexp-а (CAtlRegExp или чего то ещё)?
Glen
Re: Вопрос о регулярных выражениях CAtlRegExp
От: SuhanovSergey  
Дата: 05.03.10 11:47
Оценка:
Здравствуйте, Glenn, Вы писали:

G>ОДНАКО потом выяснилось что эти сепараторы "----" могут иметь разную длину — это может быть и "---" и "------". Можно ли такой блок выделить с помощью regexp-а (CAtlRegExp или чего то ещё)?


Я правильно понял, что сепараторы, какой бы длины они ни были, должны идти парами? Т.е. если блок начинается с сепаратора длиной 3, то и заканчивается им же?
Если так, то можно матчить этим:
{-+}{.*MyGUID[^-]*}{-+}

до тех пор пока первая группа не будет равна третей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.