我有一个 ruby 正则表达式搜索 url,我试图用某种类型的 url 替换它们。
所以这个正则表达式检测到任何 url,但不包括我替换的类型。
但是,当我尝试此代码时:
s.sub(/(?!\S*\/el\/\d*)(?=(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|(([^\s()<>]+|(([^\s()<>]+)))*))+(?:(([^\s()<>]+|(([^\s()<>]+)))*))))/, 'http://localhost:8080/el/133710')
如果 s 是s = "blablabla www.google.com bla http://localhost blabla"
它应该替换www.google.com
为我的字符串http://localhost:8080/el/133710
但我得到了这个:
"blablabla http://localhost:8080/el/133710www.google.com bla http://localhost blabla"