Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/251.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中如何使用正则表达式在已知单词之前获取未知单词_Php_Regex_Word_Preg Match All - Fatal编程技术网

在PHP中如何使用正则表达式在已知单词之前获取未知单词

在PHP中如何使用正则表达式在已知单词之前获取未知单词,php,regex,word,preg-match-all,Php,Regex,Word,Preg Match All,我有以下案文: andres wins Pot (9.50) with a Full House 我想知道“安德烈斯”这个词。这是一个玩家名称(变量),总是显示在单词“wins”之前 我需要使用preg_match_all函数,我正在尝试: %(?:\S+\s)?\S*wins% 但它让我回想起: andres wins 我只需要,安德烈斯 谢谢大家! 使用捕获组而不是非捕获组。这应该足以匹配前面的单词 (\w+)\s*wins 您需要引用$matches[1]以返回匹配结果 (\w+)

我有以下案文:

andres wins Pot (9.50) with a Full House
我想知道“安德烈斯”这个词。这是一个玩家名称(变量),总是显示在单词“wins”之前

我需要使用preg_match_all函数,我正在尝试:

%(?:\S+\s)?\S*wins%
但它让我回想起:

andres wins
我只需要,安德烈斯


谢谢大家!

使用捕获组而不是非捕获组。这应该足以匹配前面的单词

(\w+)\s*wins
您需要引用
$matches[1]
以返回匹配结果

(\w+)(?=\s*wins)
您也可以使用它。获取匹配项[1]。这不会捕获任何其他内容。请参阅演示


你好!谢谢,但我得到:数组([0]=>andres赢[1]=>andres)我只需要在stackoverflow上找到Andresture love-美丽。