-1

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

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

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

// 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")

有任何想法吗?

4

1 回答 1

6

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

 $regex = "/@set\('([^']+)',\s*'([^']+)'\)/"
于 2013-04-05T08:10:19.197 回答