使用preg_split获取类似内容的正确模式是什么。
输入:
Src.[VALUE1] + abs(Src.[VALUE2])
输出:
Array (
[0] => Src.[VALUE1]
[1] => Src.[VALUE2]
)
答案 0 :(得分:0)
在这种情况下,使用preg_split
更有意义,而不是使用preg_match_all
:
preg_match_all('/\w+\.\[\w+\]/', $str, $matches);
$matches = $matches[0];
$matches
的结果:
Array
(
[0] => Src.[VALUE1]
[1] => Src.[VALUE2]
)
答案 1 :(得分:0)
这个正则表达式应该没问题
Src\.\[[^\]]+\]
但我建议使用preg_split
preg_match_all
$string = 'Src.[VALUE1] + abs(Src.[VALUE2])';
$matches = array();
preg_match_all('/Src\.\[[^\]]+\]/', $string, $matches);
您正在寻找的所有匹配都将绑定到$matches[0]
数组。
答案 2 :(得分:0)
我猜preg_match_all
就是你想要的。这有效 -
$string = "Src.[VALUE1] + abs(Src.[VALUE2])";
$regex = "/Src\.\[.*?\]/";
preg_match_all($regex, $string, $matches);
var_dump($matches[0]);
/*
OUTPUT
*/
array
0 => string 'Src.[VALUE1]' (length=12)
1 => string 'Src.[VALUE2]' (length=12)