我试图找到正确的正则表达式匹配在Twitter上的所有RT场景(等不及Twitter的新转推API)。 我看到它的方式,RT的可以在开始,中间,或从Twitter返回的字符串的结尾。 所以,我需要在一开始这个正则表达式的东西,并结束:

  

([RR])([Tt的])

不管我怎么努力,我不能匹配一个正则表达式的场景。结果,我试图

  

[^ | \ S +]

要匹配在RT将显示在在字符串的开头或在一个或多个空格字符的情况,但没有奏效同为字符串或RT结束。结果,我试图

  

[\ S + | $]

当RT出现无论是在字符串的末尾或有下列它的一个或多个空白字符,同样与“前”以匹配的情况下 - 它不工作

有人能请解释一下我究竟做错了什么?任何帮助或建议将不胜感激(一如既往:))

有帮助吗?

解决方案

您可能会最幸福的东西,如:

/\brt\b/i

哪些会发现RT的孤立事例(即,由字界包围),并使用/i改性剂在正则表达式的结尾,使其不区分大小写的。

您想要的字边界,这样你就不会结束,并误以为含有像“艺术”和“石英”字样随机鸣叫实际上是锐推。即便如此,这将有误报。

默认情况下,正则表达式可以(会)匹配字符串内的任何地方,这样你就不会需要考虑什么可之前或之后你的对手如果确实你不在乎它是什么,或者如果它是本。

其他提示

if(preg_match('/\brt\s*@(\w+)/i', $tweet, $match))
    echo 'Somebody retweeted ' . $match[1] . "\n";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top