如何使用正则表达式来保存电子邮件的一部分

时间:2013-01-10 17:26:01

标签: php regex

我的电子邮件报告的格式如下(Label(车辆,地址..)和冒号之间通常有不同的空格:

- Vehicle               :Jeep Liberty
- Trigger             :161 Paris Cresent
- Address              :167 Paris Cres

我正在尝试保存到数据库地址信息。我试过这个(虽然它只有一个字):

$message='- Address             :167 Paris Cres';
if (preg_match('/(?<=Address             :)\S+/i', $message, $match)){
    echo $match[0] . "<br>";
}else{echo "fail <br>";}

请帮助我让它发挥作用。

1 个答案:

答案 0 :(得分:0)

使用分组匹配比使用lookbehind更容易。

$message='- Address             :167 Paris Cres';

if (preg_match('/\bAddress\s*:\s*(.+?)\s*$/mi', $message, $match)){
    echo $match[1] . "<br>";
}else{
    echo "fail <br>";
}