Ruby 以特定格式提取URL的一部分

Ruby 以特定格式提取URL的一部分,ruby,Ruby,我有可能采用以下格式的twitter URL: urls = [ "https://twitter.com/TwitterDev/status/850006245121695744", "http://twitter.com/TwitterDev/status/850006245121695744", "twitter.com/TwitterDev/status/850006245121695744", "https://www.twitter.com/TwitterDev/st

我有可能采用以下格式的twitter URL:

urls = [
  "https://twitter.com/TwitterDev/status/850006245121695744",
  "http://twitter.com/TwitterDev/status/850006245121695744",
  "twitter.com/TwitterDev/status/850006245121695744",
  "https://www.twitter.com/TwitterDev/status/850006245121695744",
  "http://www.twitter.com/TwitterDev/status/850006245121695744",
  "www.twitter.com/TwitterDev/status/850006245121695744",
  "m.twitter.com/TwitterDev/status/850006245121695744",
]

我想从上面任何一个站点获取用户名TwitterDev。如何在.com/up to the next/?

之后获得单词/numbers/charectors[sic]我不会写ruby,但这是我从regex101.com网站自动生成的代码中获得的?遵循您提到的确切规范

urls.map{|url| url.split(".com/", 2).last.split("/", 2).first}
# => ["TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev"]

更干净的版本,带有向前看和向后看???[^\/]+对于真正的比赛来说更快更安全,例如明天twitter决定允许名字使用非拉丁字母。@AlekseiMatiushkin同意,先生,并在编辑的部分添加了我需要为此创建方法吗?我尝试了您编辑的版本,得到了以下错误:语法错误,意外的“=”,预期的,未知的regexp选项-rdr,不匹配的右括号:/]+。。。。在使用@order\u twitter\u tag=@order.twitter\u link.sub?我该如何在我的控制器中这样写:@order\u twitter\u tag=@order.twitter\u link.regex\u goes\u here?-我尝试了@order\u twitter\u tag=@order.twitter\u link.map{{url | url.split.com/,2.last.split/,2.first},但它没有给我方法映射…-但是字符串确实存在,所以我不确定为什么它会给出一个error@uno您的@order.twitter\u链接不是数组,很可能是nil。是的,它不是数组,只是一个字符串。这会改变情况吗?我应该如何设置它只为一个网址正在输入?NVM,我是一个白痴。我想我明白了-会很快做更多的测试-谢谢
urls.map{|url| url.split(".com/", 2).last.split("/", 2).first}
# => ["TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev", "TwitterDev"]