我在使用我的正则表达式匹配以下数据时遇到了一些麻烦。我希望在最后"-"
之后捕获所有数据,直到空白行。我尝试了各种各样的修饰符和正则表达式,但我似乎无法将其与我想要的相匹配。我要么在第一行(第1行:......)或所有行中结束,包括我从中拉出的文档的其余部分。请帮忙吗?
数据:
Title\n
- ---------------\n
Line 1: Some random chars//:"'\n
Line 2: Some random chars//:'"\n
Line 3: Some random chars//':"\n
Line 4: Some random chars/'/:"\n
Line 5: Some random chars//:"'\n
Line 6: Some random chars//:'"\n
\n
正则表达式:
/Title[\s\-]+(?P<lines>.*)/i
答案 0 :(得分:0)
在正则表达式的末尾查找两个连续的(\r\n\r\n
)换行符:
preg_match_all("/Title[\s\-]+(?P<lines>.*)(?=\r\n\r\n)/msi", $input, $matches);
不确定linux
中的情况,可能是\n\n
答案 1 :(得分:0)
我希望捕获最后一个&#34; - &#34;之后的所有数据。直到空白行。
您可以在&#34; - &#34;之后查找每个字符。和这样的白色空间:
/\-\s+(.*)\s/s
...直到另一个最后的空白区域。
选项: s = Dot匹配所有(http://php.net/manual/en/reference.pcre.pattern.modifiers.php)
希望这就是你要找的东西。