没有使用正则表达式替换很多,我不确定我是如何做到这一点是最好的方法。 我试图改变,例如:
'(.123.)' OR 123.)' OR '(.123
到
'.(123).' OR 123).' OR '.(123
必须是中间的int。
preg_replace('/\.\)/', ').',preg_replace('/\(\./', '.(',preg_replace('/(\.[0-9]+\.)|(\.[0-9]+|[0-9]+\.)/', '($0)',$str)));
我上面的代码工作,只是想知道是否有更好的方法来做到这一点
答案 0 :(得分:1)
你可以简单地在两个替换中做更多的事情,一个用于数字之后(。在数字前面,一个用于。)吗?
$str=preg_replace('/\(\.(\d)/', '.($1', $str);
$str=preg_replace('/(\d)\.\)/', '$1).', $str);
甚至可以一次性完成这项任务,但看起来更加丑陋。在这里,我查找一个以(.
开头的数字,可选地后跟.)
,或者可选地前面加(.
,后跟.)
,然后用{{1}替换整个批次}} - 这会将.(number).
转换为.(123
,您可能想要也可能不想要...... {/ p>
.(123).