Php 自定义正则表达式模式

Php 自定义正则表达式模式,php,preg-split,Php,Preg Split,使用preg_split获得类似结果的正确模式是什么 输入: Src.[VALUE1] + abs(Src.[VALUE2]) 在这种情况下,使用比使用更有意义: preg_match_all('/\w+\.\[\w+\]/', $str, $matches); $matches = $matches[0]; $匹配的结果: Array ( [0] => Src.[VALUE1] [1] => Src.[VALUE2] ) 这个正则表达式应该可以 Src\.\[[

使用preg_split获得类似结果的正确模式是什么

输入:

Src.[VALUE1] + abs(Src.[VALUE2]) 在这种情况下,使用比使用更有意义:

preg_match_all('/\w+\.\[\w+\]/', $str, $matches);
$matches = $matches[0];
$匹配的结果

Array
(
    [0] => Src.[VALUE1]
    [1] => Src.[VALUE2]
)

这个正则表达式应该可以

Src\.\[[^\]]+\]
但是我建议使用
preg\u match\u all

$string = 'Src.[VALUE1] + abs(Src.[VALUE2])';
$matches = array();
preg_match_all('/Src\.\[[^\]]+\]/', $string, $matches);

您要查找的所有匹配项都将绑定到
$matches[0]
数组。

我想
preg\u match\u 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)

你为什么把自己限制在
preg\u split
?在这种情况下,它似乎不合适。嗨,因为在我的情况下,我使用preg_*但是如果需要,我可以更改。
$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)