用于在 PHP 中使用某些条件拆分字符串的正则表达式

Regex for splitting a string with some conditions in PHP

这是我的问题,我不太擅长正则表达式,我需要用这种方式拆分一个字符串,例如我有这个字符串:

1002;string1<br>
string2<br>
string3
1003;string1<br>
string2<br>
string3

所以我需要以这种方式拆分整个字符串:分隔每个项目块,在上述情况下:其中之一是:

1003;string1<br>
string2<br>
string3

我尝试按 $data = explode("\n", $string); 拆分,但它分隔了每一行,如果 \n 前面有 <br>,我想忽略,我想我必须使用正则表达式,也许使用 preg_split() 函数?

提前致谢

您可以使用:

$matches = preg_split('/(?<!<br>)\n/', $input);

RegEx Demo

<br>\n 之前不存在时,这将拆分输入。