Php 获取与正则表达式匹配的不完整单词

Php 获取与正则表达式匹配的不完整单词,php,preg-match,Php,Preg Match,我有一个文本,我需要找到以一个单词开头的单词,我需要得到与这个表达式匹配的完整单词 例如: 我在如下文本中搜索“abc”“Hi abc is abc123”,我需要得到一个数组:[0]=“abc”和[1]=“abc123”,因为两者都与我的表达式“abc”匹配 我有以下代码: $words = []; foreach($items as $i){ $text = $l->getText(); preg_match('*'."#".$q.'*', $t

我有一个文本,我需要找到以一个单词开头的单词,我需要得到与这个表达式匹配的完整单词

例如: 我在如下文本中搜索
“abc”
“Hi abc is abc123”,我需要得到一个数组:
[0]=“abc”和[1]=“abc123”
,因为两者都与我的表达式
“abc”
匹配

我有以下代码:

$words = [];
    foreach($items as $i){
        $text = $l->getText();
        preg_match('*'."#".$q.'*', $text, $words[]);
    }
但是我总是得到
[0]=“abc”和[1]=“abc”

我该怎么做

//Regular expresson to find: 'abc', followed by any 
//characters, until a whitespace character
$re = "/(abc[^\\s]*)/"; 

//String to search
$str = "Hi abc is abc123"; 

//Find all matches (/g)
preg_match_all($re, $str, $matches);

//Show matches in array
print_r($matches[0]);
将输出:

数组([0]=>abc[1]=>abc123)


谢谢,工作正常,但我不知道为什么我的数组中的值被复制了