ruby正则表达式不应该捕获协议

Nic*_*ilt 0 ruby regex uri

我使用的是ruby 1.8.7.

我有以下文字

http://example.com
Run Code Online (Sandbox Code Playgroud)

我写了这个正则表达式

http:\/\/(.*).com
Run Code Online (Sandbox Code Playgroud)

这有效.

现在我得到了以下文字

git://example.com
Run Code Online (Sandbox Code Playgroud)

为了使它成功,我将我的正则表达式归结为

(http|git):\/\/(.*).com
Run Code Online (Sandbox Code Playgroud)

上面的代码可以工作,但我没有使用'http'或'git'.我似乎要求正则表达式捕获我不会使用的东西.

是否有正则表达式的politer版本,其中正则表达式不会捕获协议?

Ven*_*ero 5

使用(?:http|git)了非捕获组.