用于在 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);
当 <br>
在 \n
之前不存在时,这将拆分输入。
这是我的问题,我不太擅长正则表达式,我需要用这种方式拆分一个字符串,例如我有这个字符串:
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);
当 <br>
在 \n
之前不存在时,这将拆分输入。