大家好,我需要一些帮助, 我是新的PHP。我有一个像这样的字符串
$string="+note1-note2-note3+note4-note5-note6+note7-note8-note10";
我只需要将+
部分提取到数组,例如:note1
,note4
,note7
。
有人能帮助我吗? 非常感谢!!
答案 0 :(得分:3)
使用正则表达式可以非常轻松地完成此任务。
$string="+note1-note2-note3+note4-note5-note6+note7-note8-note10";
preg_match_all('/\+(note\d+)/', $string, $matches);
print_r($matches[1]);
输出:
Array
(
[0] => note1
[1] => note4
[2] => note7
)
Regex101演示:https://regex101.com/r/pW3eS0/1
\d
是一个数字,第二个+
是一个量词,表示前面一个字符/组中的一个或多个。第一个加\+
是字面值,前面的\
使它成为实际的+
字符,否则会导致错误,因为它会是量词但却无法量化。
PHP演示:https://eval.in/527661