代码之家  ›  专栏  ›  技术社区  ›  M K

Regex-正在转义'

  •  -1
  • M K  · 技术社区  · 13 年前

    我正在尝试解析一个字符串并提取一些值。

    突然,我被这里的符号卡住了:

    以下是一些代码,用于描述我的情况:

    // example string
    $string = "@set('var', 'value')";
    
    // regex that I'm using to extract the values
    $regex = '@set\((.+),(.+)\)/'
    
    // result that I'm getting
    array("'var'", "'value'")
    
    // desired result
    array("var", "value")
    

    有什么想法吗?

    1 回复  |  直到 13 年前
        1
  •  6
  •   Ander2    13 年前

    您正在将任何字符与匹配 .+ 规则如果您不希望结果中出现引号,请避免使用引号。重写的规则:

     $regex = "/@set\('([^']+)',\s*'([^']+)'\)/"