相当于Python中Ruby的findall()方法?

gus*_*ans 2 ruby python regex

我需要从列表中的模糊列表中提取所有MP3标题.

使用Python,这对我很有用:

import re
for i in re.compile('mmc.+?mp3').findall(open("tracklist.txt").read()): print i
Run Code Online (Sandbox Code Playgroud)

我怎么能在Ruby中做到这一点?

Dan*_*uis 5

f = File.new("tracklist.txt", "r")
s = f.read
s.scan(/mmc.+?mp3/) do |track|
  puts track
end
Run Code Online (Sandbox Code Playgroud)

这段代码的作用是打开文件进行读取,并将内容作为字符串读入变量s.然后扫描字符串以获取正则表达式/mmc.+?mp3/(String#scan收集所有匹配的数组),并打印它找到的每个字符串.