Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 在推文中找到匹配的URL_Ruby_Regex - Fatal编程技术网

Ruby 在推文中找到匹配的URL

Ruby 在推文中找到匹配的URL,ruby,regex,Ruby,Regex,我参与了一个需要删除URL的项目 Ruby 1.8.7中是否有一个很好的正则表达式来匹配URL 我有一个 /(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+

我参与了一个需要删除URL的项目

Ruby 1.8.7中是否有一个很好的正则表达式来匹配URL

我有一个

/(?i)\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'\".,<>?«»“”‘’])\/* )/x
(2)以下两种::::::{{1,3}(1-3)}[a-z0-9-9-10-9-9-9-10-9-10-9-5-9%的[a-5-7-5-5-5-5[a-a-a-z[[a-a-a-z[[[a-a-z[[[a-z[[[[[[w-[w-[w-[w-[[w-[w-]以下以下以下以下以下以下以下以下以下以下以下以下以下以下几种几种几种:::::::::::::::::::::::[3-3-3-3-3-9-9-10-9-9-9-9-9-9-9-9-9-9-9-9%[[[[a-9-9-9-9-9-9-9-9-7 7 7 7 7 7 7 7 7[[[[\]{};:'\',«»'''])\/*)/x 正则表达式是一个简单的示例字符串 如何匹配fb.me、goo.gl或google.com等网站?

关于:

require 'uri'
URI.regexp
其结果是:

/
    ([a-zA-Z][\-+.a-zA-Z\d]*):                           (?# 1: scheme)
    (?:
       ((?:[\-_.!~*'()a-zA-Z\d;?:@&=+$,]|%[a-fA-F\d]{2})(?:[\-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*)                    (?# 2: opaque)
    |
       (?:(?:
         \/\/(?:
             (?:(?:((?:[\-_.!~*'()a-zA-Z\d;:&=+$,]|%[a-fA-F\d]{2})*)@)?        (?# 3: userinfo)
               (?:((?:(?:[a-zA-Z0-9\-.]|%\h\h)+|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}|\[(?:(?:[a-fA-F\d]{1,4}:)*(?:[a-fA-F\d]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})|(?:(?:[a-fA-F\d]{1,4}:)*[a-fA-F\d]{1,4})?::(?:(?:[a-fA-F\d]{1,4}:)*(?:[a-fA-F\d]{1,4}|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))?)\]))(?::(\d*))?))? (?# 4: host, 5: port)
           |
             ((?:[\-_.!~*'()a-zA-Z\d$,;:@&=+]|%[a-fA-F\d]{2})+)                 (?# 6: registry)
           )
         |
         (?!\/\/))                           (?# XXX: '\/\/' is the mark for hostport)
         (\/(?:[\-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*(?:;(?:[\-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*)*(?:\/(?:[\-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*(?:;(?:[\-_.!~*'()a-zA-Z\d:@&=+$,]|%[a-fA-F\d]{2})*)*)*)?                    (?# 7: path)
       )(?:\?((?:[\-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*))?                 (?# 8: query)
    )
    (?:\#((?:[\-_.!~*'()a-zA-Z\d;\/?:@&=+$,\[\]]|%[a-fA-F\d]{2})*))?                  (?# 9: fragment)
  /x

<>这可能比我们在这里所做的任何事情都好(否则考虑把它提交给<代码> Ruby < /代码>).

它不匹配pic.twitter.com/*-它们非常常见,twitter有一个很好的正则表达式-但不匹配google.com、fb.me或9gag.tv这样的网站链接。你的结尾有一个不可转义的正斜杠。结尾应该是:
)\/
@enrico.bacis检查一下这个之前尝试过的-一些非常复杂error@enrico.bacis我修好了它是[Rubular Link],但仍然不能匹配我想要的所有类型的URL