以下是带有我的正则表达式和代码的示例字符串:
$str = "Supp Fees:
----------
Oral Glucose
Glucagon
OXYGEN";
$ptn = "/----------(?:\r\n(.+))+/m";
preg_match_all($ptn,$str,$matches);
echo"<pre>";
print_r($matches);
echo"</pre>";
我试图在“----------”之后匹配每一行,上面的模式只返回第一行(口服葡萄糖)。我可以重复'\ r \ n(。+)'部分并返回另一行,但不知道会有多少行。
谢谢!
答案 0 :(得分:2)
你可以在没有正则表达式的情况下做到这一点:
$data = substr($str, strpos($str, '----------') + 10);
$matches = explode("\r\n", $data);
答案 1 :(得分:1)
<?php
$str = "Supp Fees:
----------
Oral Glucose
Glucagon
OXYGEN";
$str = explode('----------', $str);
preg_match_all("/[^\r\n].*/", $str[1], $matches);
echo"<pre>";
print_r($matches);
echo"</pre>";
?>