如何使用正则表达式提取2个标签之间的所有内容?

时间:2015-09-24 12:28:28

标签: php regex

我的目标是提取两个标签之间匹配的所有文本。

前:

some texts
_start_ hello
world
_stop_
some text
_start_ hello
world2
_stop_
some texts

我尝试过:

 _start_(.*)_stop_

当然不好。

以下是片段: https://regex101.com/r/rT8vF1/1

结果我期待像

这样的东西
    res[0] = "hello 
 world";
    res[1] = "hello
world2";

1 个答案:

答案 0 :(得分:4)

到目前为止,正则表达式还可以,但你必须通过添加?来使其变得非贪婪:

_start_(.*?)_stop_

然后它只会匹配到_stop_的下一次出现。您必须使用m修饰符替换s修饰符,才能使.也匹配换行符。