Нужна коррекса, чтобы соответствовать нескольким линиям, пока не будет найдено соответствие между общими разделителямиPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Нужна коррекса, чтобы соответствовать нескольким линиям, пока не будет найдено соответствие между общими разделителями

Сообщение Anonymous »

Я пытаюсь написать регуляцию, которая вернет совпадение нескольких строк из файла журнала. Используя пример ниже - я хочу сопоставить всю «транзакцию», которая начинается и заканчивается тем же текстом, что и все другие транзакции в журнале (Start и End). Однако между этими строками существует пользовательский идентификатор - в данном случае адрес электронной почты, который будет отличать одну транзакцию от другой. < /P>

Start of a transaction.
random line 1.
random line 2.
email1@gmail.com
End of a transaction.
Start of a transaction.
random line 1.
random line 2.
email1@yahoo.com
random line 3.
End of a transaction.
< /code>

Вот что я начинаю с: < /p>

^Start(.*?)\n(((.*?)(email1\@gmail\.com)(.*?)|(.*?))\n){1,}End (.*?)\n
< /code>

По сути, - я хочу сказать: начать с «Start» - и сопоставить все строки до линии «конечного», но вернуть совпадение только в том случае, если одна из строк содержит конкретный адрес электронной почты. Линии между ними - это совпадение для электронной почты. Также-приложение является PowerShell и будет использовать шаблон избранных строк, если это важно.

Подробнее здесь: https://stackoverflow.com/questions/371 ... -delimiter
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»