用于使用简单分隔符提取字数对的正则表达式

时间:2013-10-04 07:55:21

标签: ruby regex

我正在尝试找到执行以下操作的正则表达式。假设我有一个这种形式的字符串

wordcount = "THE:12 IT:3 TO:3".

这是一个单词及其频率。我需要一个可以找到例如THe的正则表达式,然后是:,后跟一个数字。

2 个答案:

答案 0 :(得分:5)

如果您想要所有匹配项都使用扫描方法:

mystring.scan(/\w+:\d+/)

如果您打算制作哈希值,可以获得奖金:

Hash[mystring.scan(/(\w+):(\d+)/)]
# or, if you prefer to not use regexp:
Hash[x.split.map{|y| y.split(':')}]

答案 1 :(得分:0)

您可以执行以下操作:

s = "THE:12 IT:3 TO:3"
p s.scan(/\w+:\d+/)
# >> ["THE:12", "IT:3", "TO:3"]