Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正则表达式-重复组_Php_Regex - Fatal编程技术网

Php 正则表达式-重复组

Php 正则表达式-重复组,php,regex,Php,Regex,我有文字: <b>Title1:</b><br/><b>Title2:</b> Value1<br/><b>Title3:</b> Value2<br/><b>Title4:</b> Value3<br/>Value4<b>Title5:</b> Value5<br/> Title1:Title2:Value1Tit

我有文字:

<b>Title1:</b><br/><b>Title2:</b> Value1<br/><b>Title3:</b> Value2<br/><b>Title4:</b> Value3<br/>Value4<b>Title5:</b> Value5<br/>
Title1:
Title2:Value1
Title3:Value2
Title4:Value3
Value4Title5:Value5
要获取的正则表达式:

[0] => <b>Title1:</b><br/>
[1] => <b>Title2:</b> Value1<br/>
[2] => <b>Title3:</b> Value2<br/>
[3] => <b>Title4:</b> Value3<br/>Value4
[4] => <b>Title5:</b> Value5<br/>
[0]=>标题1:
[1] =>标题2:Value1
[2] =>标题3:Value2
[3] =>标题4:Value3
Value4 [4] =>标题5:Value5
我的变体不起作用:
(.*)(.*)

这样的资源在排除正则表达式故障时非常有用:

看起来您在
(.*)(.*)中缺少转义字符

(.*)(.*)
应该可以阻止当前正则表达式抛出错误,并让您更接近结果,但您需要进一步使用它才能获得所需的确切结果


(.*?)(.*?)
应该更近一点,因为看起来您希望包含中断标记。

您可以使用具有前瞻性的
preg_split()

<?php
$split = preg_split( '/(?=<b>Title\d+:)/', '<b>Title1:</b><br/><b>Title2:</b> Value1<br/><b>Title3:</b> Value2<br/><b>Title4:</b> Value3<br/>Value4<b>Title5:</b> Value5<br/>' );
array_shift( $split );
var_dump( $split );

如果你正在处理HTML,那么使用DOM解析器可能是一个更好的主意。OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOh-是时候再次回答答案的时间了吗?H(7)是《8)甲甲甲(7)基基基基基基基本本本本本本本本本月月月8 8 8日日(8 8))甲甲甲甲甲甲甲甲甲甲甲甲甲8 8 8月月月8 8 8 8日日日日日(8 8 8 8 8 8月8日日日日(8月7 7 7 7 7 7 7 7 7 7 7 7 7日日日日日日日日根据根据根据根据根据本本本本本本本本本本本本本本本本本本本本本本本不是。这回答了你的问题吗?对不起,我忘了说,而不是标题任何文本,但你的日常工作!谢谢
array(5) {
  [0]=>
  string(19) "<b>Title1:</b><br/>"
  [1]=>
  string(26) "<b>Title2:</b> Value1<br/>"
  [2]=>
  string(26) "<b>Title3:</b> Value2<br/>"
  [3]=>
  string(32) "<b>Title4:</b> Value3<br/>Value4"
  [4]=>
  string(26) "<b>Title5:</b> Value5<br/>"
}
<b>(.*?)<\/b>(.*?)(?=<b>|$)