我需要正则表达式 php 方面的帮助
有必要使用括号中的数字,括号在某些情况下重复
两个不同字符串的示例:
2.0 16V Quadrifoglio (114 kW / 155 PS)
1.4 TB (940FXB1A) (125 kW / 170 PS)
我需要它看起来像这样:
2.0 16V Quadrifoglio 155 WORD
1.4 TB 170 WORD
我有代码
$text = '2.0 16V Quadrifoglio (114 kW / 155 PS)';
preg_match('#((.*?))#', $text, $match);
print $match[1];
结果是:
114 kW / 155 PS
请帮助从括号中查找数字
您只需捕获/
后面的数字,并用该数字替换整个括号表达式。
$newText = preg_replace('#([^)]*/s*([^)]*))#', '$1', $text);
我需要它看起来像这样:
2.0 16V Quadrifoglio 155 WORD 1.4 TB 170 WORD
模式:~^([^(]*).*?(d+) PS.*~
替换:$1$2 WORD
演示:https://regex101.com/r/GiJDi5/2
输出:
2.0 16V Quadrifoglio 155 WORD
1.4 TB 170 WORD
PHP:(演示(
$strings = [
'2.0 16V Quadrifoglio (114 kW / 155 PS)',
'1.4 TB (940FXB1A) (125 kW / 170 PS)'
];
var_export(preg_replace('~^([^(]*).*?(d+) PS.*~', '$1$2 WORD', $strings));
输出:
array (
0 => '2.0 16V Quadrifoglio 155 WORD',
1 => '1.4 TB 170 WORD',
)