0

假设我有以下字符串:

google-com, Awesome-net(Ooops), facebook-com / rocket-yet

我想提取所有以结尾的单词,-com但将它们分组。

目前,我已经尝试过:

^\w+[-]com

这工作正常,但只赶上第一场比赛。如何获得所有其他人?也许使用括号的东西,但我不知道如何..

将所有匹配的字符串放入一个MatchData对象(Ruby)中,我可以像Array.

我正在使用红宝石 1.9.3p125

1.9.3p125 :124 > original
 => "google-com, Awesome-net(Ooops), facebook-com / rocket-yet" 
1.9.3p125 :125 > results = original.match(/(\w+-com)/)
 => #<MatchData "google-com" 1:"google-com"> 
4

3 回答 3

2

只需使用 findall 选项,这将起作用:

\w+-com

我在http://rubular.com/中对其进行了测试

于 2012-06-05T00:13:50.477 回答
0

编辑:发现问题,您的正则表达式在开头有一个插入符号,表示只有字符串开头的 this 实例才会匹配。删除它应该允许您匹配字符串中的所有组:

(\w+[-]com)
于 2012-06-05T00:04:29.583 回答
0

似乎这match不是正确的方法。

改用 Ben Roux 和Epic_orangescan建议的正则表达式使其工作。

于 2012-06-05T02:31:46.673 回答