代码之家  ›  专栏  ›  技术社区  ›  Gad

这个PHP表达式有什么问题?

  •  0
  • Gad  · 技术社区  · 16 年前

    $reg = "/(\[{(false|true)};{.+};{\d}\])+/";
    preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
    print_r($matches);
    
    2 回复  |  直到 16 年前
        1
  •  2
  •   Greg    16 年前

    你已经写信了 \d 应该是什么时候 \d+ :

    $reg = "/(\[{(false|true)};{.+};{\d+}\])+/";
    preg_match_all($reg,"[{false};{abcde};{10}][{true};{fghij};{10}]",$matches);
    print_r($matches);
    

    虽然在你的情况下,这似乎无关紧要,但我也会避开大括号,因为它们是特殊的角色。

    $reg = "/(\[\{(false|true)\};\{.+\};\{\d+\}\])+/";
    
        2
  •  2
  •   cobbal    16 年前

    \d应该是\d+表示一个