Я попытался использовать регулярные выражения из CAtlRegExp для нижеследующей задачи, но у меня не получилось. Может кто знает как это сделать (или использовать нечто другое вместо CAtlRegExp)?
Мне надо выделить в тексте блок такого типа:
----
some text
MyGUID
some text
----
беря в расчёт то что строки "----" могут встречаться и ВНЕ этого блока.
Это я сделал с помощью шаблона (может и не вполне рационального) ".*{----.*MyGUID.*?----}.*".
ОДНАКО потом выяснилось что эти сепараторы "----" могут иметь разную длину — это может быть и "---" и "------". Можно ли такой блок выделить с помощью regexp-а (CAtlRegExp или чего то ещё)?
Здравствуйте, Glenn, Вы писали:
G>ОДНАКО потом выяснилось что эти сепараторы "----" могут иметь разную длину — это может быть и "---" и "------". Можно ли такой блок выделить с помощью regexp-а (CAtlRegExp или чего то ещё)?
Я правильно понял, что сепараторы, какой бы длины они ни были, должны идти парами? Т.е. если блок начинается с сепаратора длиной 3, то и заканчивается им же?
Если так, то можно матчить этим:
{-+}{.*MyGUID[^-]*}{-+}
до тех пор пока первая группа не будет равна третей.