我的正则表达式有问题。
我的正则表达式只返回文本中的第一个单词。我想从这个字符串中返回所有单词。
正则表达式:
$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"
}
}
答案 0 :(得分:1)
\w
与空格不匹配,只与字母数字字符匹配。这就是它遇到第一个时停止的原因。
如果:
之后的所有内容都是文字,您可能需要使用
$regex = "/Reason: (.+)/"