Php 查找正则表达式以参与电子邮件
我需要从以下电子邮件中提取一部分:Php 查找正则表达式以参与电子邮件,php,regex,Php,Regex,我需要从以下电子邮件中提取一部分: Bestellnummer xxx: 1 von xxx, 1er Pack ------------- Anfang der Nachricht ------------- foo bar baz foo bar baz // <<<<< I need this text here ------------- Ende der Nachricht ------------- ----
Bestellnummer xxx:
1 von xxx, 1er Pack
------------- Anfang der Nachricht -------------
foo bar baz foo bar baz // <<<<< I need this text here
------------- Ende der Nachricht -------------
------------- Anfang der Nachricht -------------
foo bar baz foo bar baz
------------- Ende der Nachricht -------------
我可以用这个正则表达式提取第一部分:
$re = "/------------- .*? -------------.?(.*?).?------------- .*? -------------/s";
但是,由于我对学习正则表达式还比较陌生,我很确定一定有更好的正则表达式来提取这部分文本(foobarbaz foobarbaz)
------------- Anfang der Nachricht -------------
------------- Ende der Nachricht -------------
因为这可以用不同的语言,所以我使用
.?
匹配那些连字符之间的所有内容
无论出现多少次,我都需要这篇文章的第一次出现。这个正则表达式有更多的固溶体吗
这里有一个
我的结果是:
$regexp='/Nachricht\s-+\s++(.*)\s+-+\sEnde/s'代码>
因此,它节省了一些匹配步骤,并对消息进行了一些微调
更坚实的regexp。。它只是工作。为了安全起见,编写一个测试
\s
-匹配空格
-+
-匹配一个或多个-
字符
\s+
-匹配一个或多个空格;在消息之前/之后修剪消息
(.*)
-用于消息
这看起来比我的好,明天早上我会试试,让你知道它是如何处理所有消息的。非常感谢。
.?