当前位置: 首页 > 知识库问答 >
问题:

提到PHP正则表达式(@name)[重复]

贺聪
2023-03-14

我在这个问题上竭尽全力,我已经尝试了许多正则表达式,但似乎还是做不到。(我不是在正则表达式经验丰富)。

下面的情况正在发生,让我们以这个基本句子为例;

我最近看到@johndoe骑自行车,你有没有注意到@foo bar

这里的技巧是只从字符串中获取@joh-doe@foo-bar部分,最好是在数组中:

$arr = [
   '@john-doe',
   '@foo-bar'
];

有人能帮我走上正轨吗?


共有1个答案

范承望
2023-03-14

您可以使用这个正则表达式(\@(?P

<?php
$matches = [];
$text = "I recently saw @john-doe riding a bike, did you noticed that too @foo-bar?";
preg_match_all ("(\@(?P<names>[a-zA-Z\-\_]+))" ,$text, $matches);
var_dump($matches['names']);

在这个例子中,我使用了?P

 类似资料:
  • 如何在不包含连续子字符串baa的字母表{a,b,c}上表达正则表达式?

  • 问题内容: ** ** 我当前的RegEx工作正常吗?但是我想将[]改为<>。但这是行不通的……我还需要更改[]。 问题答案: 这使您可以轻松地手动定义替换规则:

  • 本文向大家介绍PHP段落正则表达式,包括了PHP段落正则表达式的使用技巧和注意事项,需要的朋友参考一下 我经常发现有必要从博客文章的开头或类似内容中提取一段文字,以用作摘录。我通常使用一个函数,该函数将计算可用的整个单词的数量,并返回包含这些单词的字符串。 尽管仅当原始帖子为HTML时才适用,但这是一个很好的选择,那就是使用正则表达式提取内容。以下代码将使用字符串,并仅提取文本的第一段。 如果正则

  • 问题内容: 我想将URL中的字符串清除掉,所以这是我基本上需要的。 除字母数字字符和空格以及破折号外,所有其他内容都必须删除。 空格应转换为破折号。 例如。 必须返回 问题答案:

  • 使用 PCRE(preg_*)家族函数 PHP有两种使用不同的方式来使用正则表达式:PCRE(Perl兼容表示法,preg*)函数 和 POSIX(POSIX 扩展表示法,ereg*) 函数。 每个函数家族各自使用一种风格稍微不同的正则表达式。幸运的是,POSIX 家族函数从 PHP 5.3.0 开始就被弃用了。因此,你绝不应该使用 POSIX 家族函数编写新的代码。 始终使用 PRCE 家族函数