Программирование => PHP => Тема начата: kosm от 29 Мая 2003, 14:35:20
Название: Помогите плиз составить RegExp
Отправлено: kosm от 29 Мая 2003, 14:35:20
Никак не могу разобраться, как с помощью регекспа выделить текст от начала до N-го петтерна? Т.е. к примеру есть такой текст: -- тут какой-то текст
Заголовок 1
Еще текст
Заголовок 2
И еще текст
Заголовок 3
И тд
Так вот как бы составить регексп так, чтобы выделить текст от начала, до начала 2-го заголовка? До первого (ограничивая жадность) или последнего могу: (^.*?(
)) А вот как бы до конкретного? :( Или это уже делается средствами php?
Название: Помогите плиз составить RegExp
Отправлено: D1g174LM4n14c от 29 Мая 2003, 15:23:21
Заголовок 2
Название: Помогите плиз составить RegExp
Отправлено: kosm от 29 Мая 2003, 15:28:07
D1g174LM4n14c В прямом смысле понятно. Только вот если я не знаю текста заголовка?
Название: Помогите плиз составить RegExp
Отправлено: D1g174LM4n14c от 29 Мая 2003, 16:26:59
"Поиграйся" с кванторами {...}
Название: Помогите плиз составить RegExp
Отправлено: kosm от 10 Июня 2003, 16:56:13
Для примера берем кусок html
Цитировать
Topic 1
Topic 2
Topic 3
Topic 4
Под него регексп: (?:(.+?)) Выберает все Topic X Как бы именно выдрать например по Topic 3 ?
{} ни к чему не приводят :(
Есть у кого какие мысли?
Название: Помогите плиз составить RegExp
Отправлено: FreeSpace от 10 Июня 2003, 22:22:02
int preg_match ( string pattern, string subject [, array matches [, int flags]] ) Вот в matches и будут твои результаты. Если сразу не разберешься, напиши так: echo "
"; print_r($matches); echo "
"; exit; // <-- это по желанию
Название: Помогите плиз составить RegExp
Отправлено: kosm от 11 Июня 2003, 12:36:57
Ок, так я найду все вхождения и выберу какой мне надо (скажем второй по счету - "Topic 2"). А как мне взять теперь текст от начала (текста) до "Topic 2"?
Название: Помогите плиз составить RegExp
Отправлено: mike от 11 Июня 2003, 13:07:09
Есть такой вариант c иcпользованием {}: (.*?(
.*?){n})
где n - число захватываемых заголовков. Т.е. если нужно выделить текст до 2-го, то n =1 и {} можно не использовать.
Название: Помогите плиз составить RegExp
Отправлено: FreeSpace от 11 Июня 2003, 15:06:34
Цитировать
kosm А как мне взять теперь текст от начала (текста) до "Topic 2"?