用于获取变量的正则表达式

时间:2015-02-24 17:40:03

标签: php regex

我试图在查询中获取变量。变量在查询中描述为:$$ variable (description) $$,因此我使用此preg_match_all函数:

preg_match_all("/\$\$\s*[^\$]*\s*\(\s*[^\$]*\s*\)\s*\$\$/", $queryCode, $variables)

此查询的示例如下:

Some code $$ variable (a description) $$ more code $$ variable2 (other description) $$;

但我对此查询没有任何结果。我知道我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可以使用这个更简单的正则表达式:

\$\$\h+(\S+)\h+\(([^)]+)\)

RegEx Demo

<强>代码:

$re = '/\$\$\h+(\S+)\h+\(([^)]+)\)/'; 
$str = "Some code \$\$ variable (a description) \$\$ more code \$\$ variable2 (other description) \$\$;"; 

preg_match_all($re, $str, $matches);