twitter正则表达式

时间:2010-08-10 21:11:36

标签: regex actionscript-3 twitter adobe

我需要3种不同的正则表达式

  • 一个在字符串的开头找到一个'D',一个空格然后是一个名字,所以'D patrickgates你好'会'返回'D patrickgates',或者如果一切可能只返回'patrickgates'
  • 会在字符串中的任何位置找到@符号和名称,以便'@ patrickgates hello,world'可以工作并返回'@patrickgates'或者如果可能的话只返回'patrickgates'
  • 一个会找到'RT'和一个空格,然后是'@'和字符串开头的用户名,所以'RT @patrickgates'会起作用

如果仅使用一个正则表达式返回用户名并且也​​是真的,那么我可以使用一个来匹配,一个将删除'D'或'@'或'RT',谢谢你

(fyi,我使用AS3来做这件事)

2 个答案:

答案 0 :(得分:3)

  1. D patrickgates使用^D (\w+)捕获'patrickgates'
  2. @patrickgates hello, world使用^@(\w+)捕获'patrickgates'
  3. RT @patrickgates使用`^ RT @(\ w +)来捕捉'patrickgates'
  4. 如果您希望单个正则表达式从所有三个示例中捕获patrickgates

    ^(?:D |@|RT @)(\w+)

答案 1 :(得分:0)

public function convertTwitterMsg (o:Object):void {
   trace('New Tweet: ' + o);
   var original:String = o.title;
   _tweet = original.replace(/(^|\s)@(\w+)/g, "$1@<a href=\"http://www.twitter.com/$2\">$2</a>");
   _final = _tweet.replace(/(^|\s)#(\w+)/g, "$1#<a href=\"http://search.twitter.com/search?q=%23$2\">$2</a>");
   ta.htmlText = _final;
}

ta应该是你的mx:TextArea的id,你也可以使用spark,但它改变了你在spark中设置文本样式的方式。 _tweet是一个字符串

我复制粘贴功能,使用方便。