Подскажите регулярное выражение

Unlock
На сайте с 01.08.2004
Offline
757
540

Есть текстовый файл который содержит примерно такие записи:

> <Reference> (143)

разный текст

> <Reference> (156)

разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст

Мне надо найти записи где больше одной строки текста. Т.е. второй вариант. Тупо просматривать 7K строк утомительно, можно ли маске какой-то найти? Да, и цифры в скобках разные могут быть.

Люди спасите! :)

Есть желание, - тысяча способов; нет желания, - тысяча поводов! /Петр-I/.
Dweep
На сайте с 11.12.2006
Offline
207
#1
Unlock:
Есть текстовый файл который содержит примерно такие записи:

> <Reference> (143)
разный текст

> <Reference> (156)
разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст разный текст

Мне надо найти записи где больше одной строки текста. Т.е. второй вариант. Тупо просматривать 7K строк утомительно, можно ли маске какой-то найти? Да, и цифры в скобках разные могут быть.
Люди спасите! :)

10 раз прочитал, не понял что требуется.

В обоих вариантах после строки с "<Reference>" по одной строке текста.

Что на входе, и что требуется?

Unlock
На сайте с 01.08.2004
Offline
757
#2

Здесь не очень у меня корректно написано, но в реальном файле иногда под строкой Reference идет несколько строк текст, а иногда одна. Мне надо найти все где больше одной строки.

Polimer
На сайте с 01.09.2006
Offline
84
#3

Unlock, дайте нормальный, живой образец вашего текстового файла, попробую помочь. Не совсем ясно, чем заканчивается каждая запись (может быть началом следующей??).

Программные решения для бизнеса. (http://frontsoft.ru/) На заказ. Дорого.
D
На сайте с 14.01.2007
Offline
153
#4

/> <Reference> \(\d+\)\n([\w\s]+\n){2,}/

что вроде этого?

Unlock
На сайте с 01.08.2004
Offline
757
#5

Образец файла: [ATTACH]9717[/ATTACH]

В пределах одной записи могут быть дополнительные поля, т.е. кроме <ka> могут быть еще разные поля, поэтому надо искать четко только References где больше одной строки.

txt example.txt
Polimer
На сайте с 01.09.2006
Offline
84
#6

а где в вашем примере хоть один Reference, за которым следуют менее 2-х строк?

Unlock
На сайте с 01.08.2004
Offline
757
#7

Polimer, самая последняя запись, по крайней мере я вот такой вариант подразумеваю под одной строкой.

Polimer
На сайте с 01.09.2006
Offline
84
#8

понял.

$regexp = "%> <Reference> \(\d{3}\)\r\n(?:[^\r\n]+\r\n){2,}(?=\r\n)%s";

Во вложении реализация на пхп. Оно?

zip regexp.zip
Unlock
На сайте с 01.08.2004
Offline
757
#9

Polimer, спасибо! Все работает отлично.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий