用法:
新建文件xx.rb内容为:
module ModuleName
def fn
p "module cz"
end
end
以获得module名为例:
Dir["xx.rb"].each do |file|
name1 = File.read(file).scan(/module (.*)/)
p name1
name2 = File.read(file).match(/module (.*)/)
p name2
name3 = File.read(file).scan(/hh (.*)/)
p name3
name4 = File.read(file).match(/hh (.*)/)
p name4
end
运行结果为:
区别
scan:
查找全部匹配的内容,返回一个数组。
如果未匹配到,返回[]。
返回结果:()匹配到的内容。
match:
只匹配第一次,返回为MatchData类型。
如果未匹配到,返回nil。
返回结果:完整匹配部分+()匹配到的内容。