【发布时间】:2017-01-16 23:17:56
【问题描述】:
$reg1 = preg_replace('/(?<!\d),(?=\s+\d)/', '', $text);
$reg2 = preg_replace('/,\s*$/', '', $reg1);
$reg3 = preg_replace('/\s\s+/', ' ', $reg2);
我有这三个正则表达式替换调用。我可以将它们合二为一吗? 第一个删除字符串后和数字前的逗号。 第二个删除了末尾的逗号。 第三个修剪空白。
【问题讨论】:
-
请添加一些示例输入字符串和预期结果。
-
出于某种原因您需要将它们组合起来吗?性能受苦了吗?为了简化第二个正则表达式,您可以尝试
rtrim($reg1, ',');。我不能很好地阅读正则表达式,但第三个可以使用trim($reg2);。如果字符串看起来像这样, an amazing, string to mess up your, 10th day ,,你需要做什么? -
'hulk, 33,' => 'hulk 33''test 3 ,' => 'test 3'