Что нового

Разделение текста до и после пустой строки (регулярные выражения)

Latoid

Знающий
Сообщения
95
Репутация
11
Вот такой вот текст:
Код:
text/plain;
	charset="koi8-r"
Content-Transfer-Encoding: quoted-printable

QTE
----- Original Message -----=20
From: Alexa M=20
To: Homenko=20
Cc: Asharov; Nikonov=20
Sent: Wednesday, December 02, 2009 9:24 AM
Subject: =aa=aa=aa=aa=aa=aa=aa=aa-=aa=aa=aa=a

=aa=aa=aa=aa=aa=aa=aa=aa =aa=aa=aa=aa=aa=aa

02127
=aa=aa=aa=aa=aa=aa=aa=aa=aa =aa=aa =aa=aa=aa=aa=aa=aa=aa
UNQTE
Нужно его разделить - всё что идёт до первой пустой строки - в первую строку массива;
всё что идёт после первой пустой строки - во вторую строку массива

StringRegExp ($letterstring, "(?ims)(.*)(?:\n\r\n)(.*)", 1) - всё до чего додумался пока. Но эта команда пишет всё до последней пустой строки в первую строку массива, остальное - во вторую, т.е. неверно
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Re: И еще регэкспы

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



Добавлено:
Сообщение автоматически объединено:

Что за строки массива? массив двумерный? что тогда по столбцам?
покажи какой должен быть результат.
 

amel27

Продвинутый
Сообщения
146
Репутация
55
Код:
$s = 'text/plain;' &@CRLF& _
'	charset="koi8-r"' &@CRLF& _
'Content-Transfer-Encoding: quoted-printable' &@CRLF& _
'' &@CRLF& _
'QTE' &@CRLF& _
'----- Original Message -----=20' &@CRLF& _
'From: Alexa M=20' &@CRLF& _
'To: Homenko=20' &@CRLF& _
'Cc: Asharov; Nikonov=20' &@CRLF& _
'Sent: Wednesday, December 02, 2009 9:24 AM' &@CRLF& _
'Subject: =aa=aa=aa=aa=aa=aa=aa=aa-=aa=aa=aa=a' &@CRLF& _
'' &@CRLF& _
'=aa=aa=aa=aa=aa=aa=aa=aa =aa=aa=aa=aa=aa=aa' &@CRLF& _
'' &@CRLF& _
'02127' &@CRLF& _
'=aa=aa=aa=aa=aa=aa=aa=aa=aa =aa=aa =aa=aa=aa=aa=aa=aa=aa' &@CRLF& _
'UNQTE'

$a = StringRegExp($s, "^(?s)(.*?)(?<=\n)(?=\r|\n)[\n\r]+(.*)", 3)

ConsoleWrite("###################"&@CRLF)
ConsoleWrite($a[0] &@CRLF)
ConsoleWrite("###################"&@CRLF)
ConsoleWrite($a[1] &@CRLF)
 
Верх