\$(.*?)
[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*
所以在你的情况下,我会尝试:
\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)
/**
* Find all PHP Variables with preg_match
*
* @link https://stackoverflow.com/a/19563063/367456
*/
$pattern = '/\$([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)/';
$subject = <<
Hallo $var. blabla $var, $iam a var $varvarvar gfg djf jdfgjh fd $variable
BUFFER;
$result = preg_match_all($pattern, $subject, $matches);
var_dump($result);
print_r($matches);
输出:
int(5)
Array
(
[0] => Array
(
[0] => $var
[1] => $var
[2] => $iam
[3] => $varvarvar
[4] => $variable
)
[1] => Array
(
[0] => var
[1] => var
[2] => iam
[3] => varvarvar
[4] => variable
)
)
如果您想了解PHP中的正则表达式是如何工作的,您需要阅读PHP手册以及使用的正则表达式方言(PCRE)的手册.还有一本名为“掌握正则表达式”的好书,我建议你阅读.
另见: