如何根据 PHP 中的匹配模式从字符串中获取完整单词?

How to fetch full word from string against matched pattern in PHP?

我想从字符串的匹配模式中获取完整的单词。

例如,如果我有字符串

$string = "Loreim ipsum lorem ipsum @Leader_abcXyz! loreim ipsum loreim ipsum @Leader_xyzAbc! loreim ipsum lorem ipsul @Leader_jklMno oremipsuim!";
$pattern = "@Leader_";
$result = someRegularExpression($string,$pattern);

我希望 $result 中的结果为@Leader_abcXyz!,@Leader_xyzAbc!和@Leader_jklMno oremipsuim!

如果管理员在编辑器中用@提及他们的用户名,我想通知用户。所以我想在@Leader_ 之后取词,这样我就可以得到那个词并给他们发邮件。[​​=12=]

是这样的吗?

@Leader_(\w+)\s*(.*?)!

捕获 leader 之后的字符,然后将捕获任何可用的字符,直到下一个感叹号。

观看演示 ​​here

或者这个?

@Leader_([\w]+)\s*(.*?)[[:punct:]]

捕获前导之后的字符,然后是下一个标点符号之前的所有可用字符

观看演示 ​​here