Ruby正则表达式匹配选择性推文

时间:2013-07-08 06:20:09

标签: ruby regex twitter

我很难使用.match来仅允许和阻止选择性推文并仅显示来自'do_match?'的那些?

  def does_match?
    allow = "/orange|grape\sfruit|apple/"
    block = "/@fruits|coconut/"
    allowfruits = "/berry|mango/"

    @tweet.match(allow).nil?
    @tweet.match(block)
    @tweet.match(allowfruits) if @user =~ /\A(twitteruser|anotheraccount)\Z/
    @tweet.match(/@[A-Za-z0-9_:-]+/)
    return @tweet
  end

  def show
    return @tweet
  end

1 个答案:

答案 0 :(得分:0)

首先,您将正则表达式定义为字符串 这样做

allow = /orange|grape\sfruit|apple/

其次,你正在做一些匹配机器人对其返回值无效 这样做

if @tweet.match(allow)
   # rest of logic
   # checking blocked and allowed for user
   @tweet # or true
else
   nil # or false
end