RegExp(preg_match)用于变量

时间:2013-08-27 12:22:44

标签: php regex preg-match

我正在尝试将变量与脚本匹配,例如这一行:

Hello World, this is a Test. $i = 1, $sString = "Test"

所以我希望 $ i $ sString

我尝试了许多不同的模式,例如$pattern = '/(\$\w+)/';。我只获得 $ i 两次但 $ sString

正如您所见here

1 个答案:

答案 0 :(得分:1)

您只能获得一个匹配$i。有两个结果的原因是括号capture结果和捕获也被返回(您可以使用它来返回子匹配,比如除了前导$之外的所有内容)。要获得所有匹配项,请使用preg_match_all。如果你不需要它们,请删除括号(如果它们只包装整个表达式,你将永远不需要它们):

preg_match_all('/[$]\w+/', $subject, $matches);

请注意,生成的数组更深一层,因此您可以在$matches[0]中找到匹配数组。

Demo