只在符号后拆分php字符串

时间:2016-02-29 22:32:53

标签: php arrays regex

大家好,我需要一些帮助, 我是新的PHP。我有一个像这样的字符串

$string="+note1-note2-note3+note4-note5-note6+note7-note8-note10";

我只需要将+部分提取到数组,例如:note1note4note7

有人能帮助我吗? 非常感谢!!

1 个答案:

答案 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