preg_match所有单词都以@开头?

cod*_*rxx 1 php regex

我对常规表达不是很坚定,所以我不得不问你:

如果字符串包含以@开头的单词,如何找到PHP?

例如,我有一个字符串,如"这是为@codeworxx"???

我很抱歉,但我没有起点:(

希望你能帮忙.

谢谢,Sascha


好的,谢谢你的结果 - 但我犯了一个错误 - 如何在eregi_replace中实现???

$text = eregi_replace('/\B@[^\B]+/','<a href="\\1">\\1</a>', $text);
Run Code Online (Sandbox Code Playgroud)

不起作用??!?

为什么?我不必输入与模式相同的表达式吗?

mik*_*iku 5

匹配任何在前面有一些空格@的东西,后跟除了空格之外的东西:

$ cat 1812901.php

<?php
    echo preg_match("/\B@[^\B]+/", "This should @match it");
    echo preg_match("/\B@[^\B]+/", "This should not@ match");
    echo preg_match("/\B@[^\B]+/", "This should match nothing and return 0");
    echo "\n";
?>

$ php 1812901.php 
100
Run Code Online (Sandbox Code Playgroud)