Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用规则拆分电子邮件_Php_Regex_Split_Rules - Fatal编程技术网

PHP使用规则拆分电子邮件

PHP使用规则拆分电子邮件,php,regex,split,rules,Php,Regex,Split,Rules,我必须按照一套规则拆分每天收到的电子邮件。 这是电子邮件的一个示例: A N K U N F T 11.08.15 *** NEUBUCHUNG *** 11.08.15 xxx xxx X3 2830 14:25 17:50 18.08.15 xxx xxx X3 2831 18:40 F882129 dsdsaidsaia F882129 xxxyxyagydaysd **«CUT HERE»** A N K U N F T 18.08.15 *

我必须按照一套规则拆分每天收到的电子邮件。 这是电子邮件的一个示例:

A N K U N F T   11.08.15
*** NEUBUCHUNG ***
 11.08.15  xxx  xxx  X3 2830  14:25   17:50
 18.08.15  xxx  xxx  X3 2831  18:40
 F882129  dsdsaidsaia
 F882129  xxxyxyagydaysd

**«CUT HERE»**


A N K U N F T   18.08.15
*** NEUBUCHUNG ***
 11.08.15  xxx  xxx  X3 2830  14:25   17:50
 18.08.15  xxx  xxx  X3 2831  18:40
 F881554  ZXCXZCXCXZCCXZ
 F881554  xcvcxvcxvcvxc
 F881554  xvcxvcxcvxxvccvxxcv

**«CUT HERE»**


11.08.15  xxx  xxx  X3 2830  14:25   17:50
 18.08.15  xxx  xxx  X3 2831  18:40
 F881605  xczxcdfsfdsdfs
 F881605  zxccxzxzdffdsfds

**«CUT HERE»**

因此,只要最后一个F999999出现(其中9可以是任意数字),它基本上就必须被剪切。我该怎么做呢?

您可以试试这个,不过在
\n\n
上拆分也可以

(?:\sF\d+.*?\n\n)\K(\n)
在捕获组上拆分


读一行,如果它以
[space]F[digit]
开头,那么跳过它,一直跳过,直到你碰到一个空行-砰,完成了。只需按
\n\n
分割,我忘了说我找到正则表达式来查找每一行:[F]{1}\d{6},但是问题是,如果F999999重复,我应该只在最后一个之后剪切,并且只在文本(例如:ZxCxZxZDFDSFDS)完成后剪切…@MiguelSousa如果您认为在通过post发送数据时存在问题,为什么不向我们展示一下您是如何做到的?当我们看不到你是怎么做的时候,我们该怎么解决这个问题呢?对不起,我不认为表单有什么问题。。。当我发帖时,这些新行似乎消失了…谢谢你的快速回答!!\n\n可能不起作用,因为有时F999999之间用空行分隔。谢谢,我想这就是我要找的!!嗨,我刚刚注意到最后一个“F999999”被删除了,我想把它包括进去。。我试图向正则表达式添加\n,但没有成功。。。