【问题标题】:What is the correct/standard syntax for preg_match regular expressionspreg_match 正则表达式的正确/标准语法是什么
【发布时间】:2012-06-27 05:11:22
【问题描述】:

我不断看到 preg_match 的分隔符的变化,包括:

  • preg_match("/[xxx]/",$foo)
  • preg_match("/^[xxx]$/",$foo)
  • preg_match("#[xxx]#e",$foo)

    等等

为什么会有这些变化以及应该使用哪一个?

【问题讨论】:

    标签: php regex preg-match expression variation


    【解决方案1】:

    他们都是正确的。

    分隔符(您所说的打开/关闭标签)可以是任何非字母数字、非反斜杠、非空白字符。 Ref.

    【讨论】:

    • 好的,那么你使用哪个分隔符没有意义?
    • 你更喜欢哪一个...就我个人而言,我使用正斜杠,因为它更适合其他语言(即 JavaScript)
    • @reformed related answer。当然,您使用的分隔符有所不同。问题是,根据您的决定,您将分隔符设置为正则表达式中的特殊字符,因此如果您想匹配例如一条带有很多斜杠的路径,并且您使用 / 作为分隔符,您将不得不在正则表达式中转义它们,例如/c:\/temp\//,如果你使用#,你可以写#c:/temp/#。 (你甚至可以使用像 +*|? 这样的正则表达式特殊字符作为分隔符,但不建议这样做,related
    • 那么最后的i 是什么?说什么时候将eregi 转换为preg_match,我怎么知道何时使用i,何时不使用?
    猜你喜欢
    • 1970-01-01
    • 2014-08-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 2016-08-18
    • 2012-01-05
    相关资源
    最近更新 更多