Я пытаюсь проанализировать файл erb для параметра метода getMetaValueForName () следующим образом:
File.open(tpath) do |file|
while (line = file.gets)
name = line.match(/getMetaValueForName\(".*"\)/).to_s
name = name.match(/"(.*?)"/).to_s
netaName = name.gsub!(/"/, '')
meta_names.push(name) unless name.blank?
end
end
Это прекрасно работает, если в одной строке не несколько getMetaValueForName (), тогда я получу только значение первого метода.
Итак, я попытался изменить регулярное выражение на:
name = line.match(/(getMetaValueForName\(".*?"\))/)
, а затем получите результаты, изменив переменную name в массив, и сделайте другое сопоставление и gsub в каждом блоке do.
Но я все еще получаю только первый результат, а не все ...
Или есть более простой способ сделать это?