Php 正则表达式捕获太多或不够

Php 正则表达式捕获太多或不够,php,regex,Php,Regex,我在匹配下面的数据和我的正则表达式时遇到了一些问题。我想在最后的“->”/>代码>之后,将所有数据捕获到空白行。我尝试了各种各样的修饰语和正则表达式,但我似乎无法使其与我想要的匹配。我要么以第一行(第1行:…)结束,要么以所有行结束,包括我从中提取的文档的其余部分。请帮忙 数据: 正则表达式: /Title[\s\-]+(?P<lines>.*)/i /Title[\s\-]+(?P.*)/i 在正则表达式末尾查找两个连续的(\r\n\r\n)换行符: preg_match_all

我在匹配下面的数据和我的正则表达式时遇到了一些问题。我想在最后的<代码>“->”/>代码>之后,将所有数据捕获到空白行。我尝试了各种各样的修饰语和正则表达式,但我似乎无法使其与我想要的匹配。我要么以第一行(第1行:…)结束,要么以所有行结束,包括我从中提取的文档的其余部分。请帮忙

数据:

正则表达式:

/Title[\s\-]+(?P<lines>.*)/i
/Title[\s\-]+(?P.*)/i
在正则表达式末尾查找两个连续的(
\r\n\r\n
)换行符:

preg_match_all("/Title[\s\-]+(?P<lines>.*)(?=\r\n\r\n)/msi", $input, $matches);
preg_match_all(“/Title[\s\-]+(?P.*)(?=\r\n\r\n)/msi“,$input,$matches);
不确定它在
linux
中的运行方式,可能是
\n\n

我想在最后一个“-----”之前捕获所有数据直到空白行。< /P> 您可以查找“-”后面的每个字符和如下空白:

/\-\s+(.*)\s/s
…直到另一个空白

选择: s=点匹配所有()


希望这就是你要找的。

什么是
空行
?@sln这是空行。。。e、 g\n有无限的可能显示空行的样子。不幸的是,
空行
没有正则表达式构造。
/\-\s+(.*)\s/s