正则表达式从模式中跳过消息

时间:2012-06-26 22:55:43

标签: php regex

我在php中有这个字符串我想跳过ppattern

------------------------------------------
FROM:Andy;
SENT:Mon, Jun 18 2012 1:52pm
TO:Ali;

------------------------------------------
FROM:Ali;
SENT:Mon, Jun 18 2012 12:26pm
TO:Andy;

Some message text here

我想使用正则表达式跳过前两个模式并仅返回“一些消息文本...”,可以有更多以上两个模式。在PHP中

2 个答案:

答案 0 :(得分:1)

要100%确定您没问题,请使用模式/^.*\nSENT:[^\n]*\nTO:[^\n]*\n\n(.*)$/is

查看并测试代码here


如果你在最后一个“TO:”行之后在空行中有一些空白字符,那么使用正则表达式/^.*\nSENT:[^\n]*\nTO:[^\n]*\n\s*\n(.*)$/is

答案 1 :(得分:0)

.*TO:.*;\s*(.*)

请务必设置点匹配换行符

在php(preg)中,这变为

if (preg_match('/.*TO:.*;\s*(.*)/s', $subject, $regs)) {
    $result = $regs[1];
} else {
    $result = "";
}