Php 正则表达式来匹配特定字符集之间的整数
我需要替换这些特定字符前后的所有整数:Php 正则表达式来匹配特定字符集之间的整数,php,regex,Php,Regex,我需要替换这些特定字符前后的所有整数:()*-/%+空格,但只替换这些字符 因此(34+应该匹配,但a34+或k3-不应该匹配 到目前为止,我有这个,“/(?:-| | | \(| | \)+**/(\d+)(:-| | \(| \)\+**/)/”,但这并不像我想要的那样工作 $pattern = '/[- ()+*\/%](\d+)[- ()+*\/%]/'; $replacement = "xyz($1)"; $insideFunc = preg_replace($pattern, $re
()*-/%+空格
,但只替换这些字符
因此(34+
应该匹配,但a34+
或k3-
不应该匹配
到目前为止,我有这个,“/(?:-| | | \(| | \)+**/(\d+)(:-| | \(| \)\+**/)/”
,但这并不像我想要的那样工作
$pattern = '/[- ()+*\/%](\d+)[- ()+*\/%]/';
$replacement = "xyz($1)";
$insideFunc = preg_replace($pattern, $replacement, $insideFunc);
$insideFunc=“float y=45*(3-max(3-float(天花板(3)),3-float(地板(3)))*2.302585092994046”
output->float y=xyz(45)xyz(3)maxxyz(3)float(ceilxyz(3)),xyz(3)float(floorxyz(3))*2.302585092994046
我希望它是,
float y=xyz(45)*(xyz(3)-max(xyz(3)-float(ceil(xyz(3))),xyz(3)-float(float(xyz(3‘)’))*2.302585092994046
我这样修改了它,它现在开始工作了
$pattern = '/([- ()+*\/%])(\d+)([- ()+*\/%])/';
$replacement = "$1float($2)$3";
改为使用字符类:
[-()+*\/%](\d+[-()+*\/%]
您能解释一下它的用途吗?