【问题标题】:Problem detecting forward slash in preg_replace regex pattern在 preg_replace 正则表达式模式中检测正斜杠的问题
【发布时间】:2010-07-20 09:49:29
【问题描述】:

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

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

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

但是它不会接收像 1/54B 这样的街道号码

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

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

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

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

【问题讨论】:

    标签: php regex preg-replace


    【解决方案1】:

    试试

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

    使用替代分隔符使其更简单。

    【讨论】:

      【解决方案2】:

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

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

      适用于这种情况。是的,我觉得自己很愚蠢。

      感谢 Matthew 提供的有用提示。打算把那个归档。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-22
        • 1970-01-01
        • 2011-03-09
        • 1970-01-01
        • 1970-01-01
        • 2013-01-28
        • 1970-01-01
        相关资源
        最近更新 更多