正则表达式模式-匹配以@开头的单词

Fillobotto

我的移动应用程序就像移动平台(WP7,Silverlight,.NET)上的论坛一样。一种功能是通过写“ @”字符和用户名来标记其他用户。

在服务器端,PHP,我正在解析文本,以便它与标记匹配,并用更具可读性的字符串(例如)替换它们[tag](display name)|(user id)[/tag],但这对我们的目的并不重要。

为了匹配标签,我将所有特殊字符替换为一个空格,以防止出现此类情况.... @name, ....然后,我将删除本可以创建上一个命令的所有多个空格。最后,我将每个空格分开,然后检查该单词是否以“ @”字符开头。这当然不是最好的方法,但是到目前为止,这是我设法做到的。有一个弱点,换行符会使我的代码失败。例如:

Hello, this is my first line
since I go to second and then I tag
@Jonh
who is a good boy

在这种情况下,我要在下面编写的代码将失败。$resp要解析的文本在哪里

if (strpos($resp,'@') !== false) {
    $new_str = preg_replace('/[^a-zA-Z0-9_ \@]/', ' ', $resp);
    $new_str = preg_replace('/\s+/', ' ', $new_str);

    foreach(explode(' ', $new_str) as $word)
    {
        if (strpos($word, '@') === 0) {
            //found my tag!                 
            }

        }   
    }
}

您会建议做什么?

Oghaza

与其使用正则表达式替换所有您不希望匹配的内容,还不如使用正则表达式将任何单词立即与@匹配。

$subject = "..blah.. @name, ..blah..@hello,blah";
$pattern = '/@\w+/';
preg_match_all($pattern, $subject, $matches);
print_r($matches);

输出:

Array ( [0] => Array ( [0] => @name [1] => @hello ) )

/@\w+/假设只有数字,字母和下划线(即\w匹配项)是有效的匹配项(即@ user123_xd),如果要-在有效的匹配项中包含(破折号)(例如@ user1a-12),则$ pattern为/@[\w-]+/

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式匹配以“ $”开头的单词

来自分类Dev

正则表达式匹配以@开头的单词

来自分类Dev

正则表达式-如果模式以\开头,则不匹配

来自分类Dev

正则表达式匹配模式

来自分类Dev

正则表达式模式以匹配{{....}}

来自分类Dev

正则表达式以匹配模式

来自分类Dev

模式匹配 - 正则表达式

来自分类Dev

模式匹配的正则表达式

来自分类Dev

正则表达式与单词模式不匹配

来自分类Dev

正则表达式匹配遵循模式的单词

来自分类Dev

正则表达式匹配所有单词,但以特殊字符开头和结尾的单词除外

来自分类Dev

正则表达式-限制单词匹配到以特定单词开头的行

来自分类Dev

匹配单词的正则表达式

来自分类Dev

正则表达式单词匹配

来自分类Dev

正则表达式:匹配模式,但模式前面除外

来自分类Dev

正则表达式:模式匹配多个模式

来自分类Dev

正则表达式匹配正则表达式模式之外的所有内容

来自分类Dev

正则表达式:不以“模式”开头

来自分类Dev

Python正则表达式在以行开头或空格开头时匹配模式

来自分类Dev

正向匹配后的正则表达式匹配模式

来自分类Dev

重复单词的正则表达式模式

来自分类Dev

正则表达式用于某个单词之前的模式

来自分类Dev

正则表达式-提取模式之间的单词

来自分类Dev

正则表达式模式用重复单词计数

来自分类Dev

正则表达式用于某个单词之前的模式

来自分类Dev

如何捕获正则表达式模式周围的单词?

来自分类Dev

正则表达式通过某些模式获得单词

来自分类Dev

单词旁边链接的正则表达式模式

来自分类Dev

正则表达式匹配以unicode charachter开头的单词会返回意外结果

Related 相关文章

热门标签

归档