从括号中查找正则表达式 php



我需要正则表达式 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',
)

最新更新