我想用正则表达式在一个短语中找到多个巧合
在这个短语中匹配多个维度,结果很简单: 工作示例在这里
<?php
preg_match_all("/(\d+\.\d)(x|cm)/", "120.0x140.0x215.0cm", $out);
print_r($out);
?>
[0]=> array
[0]=>120.0x
[1]=>140.0x
[2]=>215.0cm
[1]=> array
[0]=>120.0
[1]=>140.0
[2]=>215.0
[2]=> array
[0]=>x
[1]=>x
[2]=>cm
我将使用的是$out[1]
数组
当我尝试将此模式与上下文隔离时,问题就出现了,它只匹配最后一个值:Working example here
<?php
preg_match_all("/<div>Dimensions: ((\d+\.\d)(x|cm))+<\/div>/", "<div>Dimensions: 120.0x140.0x215.0cm</div>", $out);
print_r($out);
?>
[0]=> array
[0]=><div>Dimensions: 120.0x140.0x215.0cm</div>
[1]=> array
[0]=>215.0cm
[2]=> array
[0]=>215.0
[3]=> array
[0]=>cm
我$out[2]
希望包含多个值,与$out[1]
第一个示例相同
我在这里缺少什么?是否可以使用正则表达式来做到这一点,我敢打赌这可能是可能的。