具有累积效应的正则表达式

时间:2013-06-11 06:00:59

标签: php regex preg-replace

我有一个用连字符替换数字和空格的正则表达式。

/[^\s\d-]/

这很好用,但这里有一个机会让多个连字符彼此相邻,这是我不想要的。

如果传递了以下字符串:I am a bad str1 ng

我希望I-am-a-bad-str-ng,即仅使用单个连字符。是否可以更改正则表达式来执行此操作?

1 个答案:

答案 0 :(得分:5)

小修改:

/[^\s\d-]+/
         ^

+贪心量词意味着“尽可能多地进行一次或多次迭代”。因此,此正则表达式将连续匹配您的字符类的多个迭代次数。