Php 如何在正则表达式模式中写入$1
我正在尝试编写一个正则表达式程序,它不会在系列中重复单元。 我想捕捉这个单位,这里是厘米Php 如何在正则表达式模式中写入$1,php,regex,Php,Regex,我正在尝试编写一个正则表达式程序,它不会在系列中重复单元。 我想捕捉这个单位,这里是厘米 <?php $match = '4 CM,6.5 CM,8 CM,9.6 cm and 10 CM'; if(preg_match('/\d+\s?(\w+)(?!$)/i',$match)) { $out = preg_replace('/ $1(?!$)/i', '', $match); echo $out; } ?> 输出: 4,6.5,8,9.6 and 10 CM 请帮帮我。找到了
<?php
$match = '4 CM,6.5 CM,8 CM,9.6 cm and 10 CM';
if(preg_match('/\d+\s?(\w+)(?!$)/i',$match))
{
$out = preg_replace('/ $1(?!$)/i', '', $match);
echo $out;
}
?>
输出:
4,6.5,8,9.6 and 10 CM
请帮帮我。找到了正确的方法。 在preg_match中添加$matches。它是一个数组
preg_match('/ \d+\s?\.?(\w+)?/',$match, $matches);
$out = preg_replace('/'.$matches[1].'(?!$)/', '', $match);
打印$matches时,我们知道$matches[1]包含cm
Array ( [0] => 10 cm [1] => cm )
哦是否要检测所有术语都使用了相同的单位,并将其从除最后一个术语外的所有术语中删除?有趣。
Array ( [0] => 10 cm [1] => cm )