我希望通过这个正则表达式匹配 \ $ [a-zA-Z _] [0-9a-zA-Z _] *
例如:
x & y
预期回报(粗体文本匹配):
$ a 某些文字 $ b 另一个 $ c $ d
当我运行此代码时
$string = "\$a some text \$b another \$c \$d";
它让我回答:
$input_lines = "\$a \$b \$c \$d";
preg_match_all("/\$[a-zA-Z_][0-9a-zA-Z_]*/", $input_lines, $output_array);
var_dump($output_array);
预期结果应为:
array(1) {
[0] =>
array(0) {
}
}
我使用PHP5.6
我不知道为什么。有什么建议吗?
由于
答案 0 :(得分:3)
$string = "\$a some text \$b another \$c \$d";
preg_match_all("/\\$\w+/", $string, $matches);
print_r($matches);
结果:
Array
(
[0] => Array
(
[0] => $a
[1] => $b
[2] => $c
[3] => $d
)
)
在正则表达式中,您必须转义$
符号以及\
本身。
是正则表达式的关键字符。