讓我們說下發生之前捕獲的一切,這是我的琴絃組:在全球正則表達式搜索
HOME
this
could
have
many
lines
HOME
this
one
also
HOME
same
我怎樣才能得到一切包含這種新的生產線的「家」的下一次出現之前(縮短簡便起見)
echo $matches[0]; // first home outputs 'this\n could\n have\n many\n lines\n'
echo $matches[1]; // second home outputs 'this\n one\n also\n'
echo $matches[2]; // third home outputs 'same\n'
// ... HOME(n)
我迄今爲止嘗試:/HOME(.*?)\n(.*?)/gU
但我只得到了字符串的第一行:
echo $matches[0]; // outputs 'this'
echo $matches[1]; // outputs 'this'
echo $matches[2]; // outputs 'same'
// ... HOME(n)
注:兩個家庭之間的串可具有可變的行數,這是什麼讓我頭疼
這是問題的片段:https://regex101.com/r/6TPpDJ/1 - 爲更清晰的視圖 –
我更喜歡MaxZoom的答案否則我會與[**'(?:^ HOME |( (!:(!!HOME)。+ \ R *)*'**](https://regex101.com/r/6TPpDJ/3) – revo
或者' preg_split()'在'HOME'或類似的情況下,如果需要regex,但explode()會更好。 – AbraCadaver