正则表达式只返回文本中的第一个单词

时间:2014-01-23 23:53:27

标签: php regex

我的正则表达式有问题。
我的正则表达式只返回文本中的第一个单词。我想从这个字符串中返回所有单词。

正则表达式:

$test = "Reason: test test test";
$regex = "/Reason: (\w+)+/";
preg_match_all($regex, $test, $reason);

var_dump($ reason)返回代码:

array(2) {
    [0]=>
    array(1) {
        [0]=>
            string(12) "Reason: test"
    }
    [1]=>
    array(1) {
        [0]=>
            string(4) "test"
    }
}

我想:

    array(2) {
    [0]=>
    array(1) {
        [0]=>
        string(12) "Reason: test test test"
    }
    [1]=>
    array(1) {
        [0]=>
        string(4) "test test test"
    }
}

1 个答案:

答案 0 :(得分:1)

\w与空格不匹配,只与字母数字字符匹配。这就是它遇到第一个时停止的原因。

如果:之后的所有内容都是文字,您可能需要使用

$regex = "/Reason: (.+)/"