我最近一直在学习正则表达式,我想知道这是否可行:
我正在使用Twitter提要,我可以访问推文,但是当我想在我的网站上显示这些推文时 - 链接,@回复和哈希标记都是取消关联的。所以我开始将它们联系起来。我正在回复@回复并提出一个问题:
这是我的正则表达式:
$content = '@jason is awesome.';
$reply = '/@(\w+)/';
if(preg_match($reply, $content, $matches)){
var_dump($matches[0]);
}
所以这将返回'@jason',但我想知道是否有办法用@搜索它,但只返回它后面的内容 - 只是'jason'。如何使用正则表达式执行此操作?
答案 0 :(得分:0)
正如Double提到的,$ matches [1]会给你想要的。 $ matches [0]很特殊,它包含整个匹配字符串。列表中的后续项目是捕获的组。
答案 1 :(得分:0)
从它出现的documentation $matches[1]
将有第一个反向引用,在你的情况下应该是jason。你可以在这里测试:http://www.solmetra.com/scripts/regex/index.php
答案 2 :(得分:0)
Read the #$^&* Manual我的意思是...... RIGHT 那里......
如果提供了匹配,那么它将填充搜索结果。 $ matches [0]将包含与完整模式匹配的文本, $ matches [1]将包含与首次捕获匹配的文本 带括号的子模式,依此类推。