在preg_replace正则表达式模式中检测正斜杠的问题

时间:2010-07-19 22:28:24

标签: php regex preg-replace

我在一个字符串中运行preg_replace,该字符串可能包含街道号码。我正在使用的模式是:

([A-Za-z0-9]*)/i

这适用于1,1a,123等数字。

然而,它并没有像1 / 54B那样获取街道数据

我试图像这样在模式中添加正斜杠:

([A-Za-z0-9\/]*)/i

但它没有像1 / 54B这样的数字。

关于我应该使用什么的任何想法?

2 个答案:

答案 0 :(得分:4)

尝试

preg_replace('#([A-Za-z0-9/]*)#i', $repl, $subj);

使用备用分隔符使其更加简单。

答案 1 :(得分:0)

我意识到在这个例子中我忽略了正斜杠被翻译成URL友好代码(%2F)所以

([A-Za-z0-9\%]*)/i

为这种情况工作。是的,我觉得很蠢。

感谢Matthew的有用提示。要把那个文件拿走。