0
我試圖做一個簡單的正則表達式來抓取特定文本出來的目錄一堆文本文件的文件目錄。我使用的代碼如下:解析與正則表達式和紅寶石
input_dir = File.join('path/to/file/dir/', "*.txt")
Dir.glob(input_dir) do |file|
if /\.txt$/i.match file
File.open(file, "r") do |_file|
/==BEGIN==(.*)==END==/.match _file.read
puts $1
end
end
end
這在目錄中的文件正好是1工作,但所有其他文件返回零。我在這裏錯過了什麼嗎?
此外,要知道,'(。*)'貪婪地匹配,這可能是一個問題,如果有一個以上的'== == BEGIN'/'== == END'對在文件中。 –
是的,抱歉不解釋更多。我試圖保持簡單的問題,而不會將我的整個文本文檔轉儲到其中。這就是說,這個「m」的標誌就像一個魅力。不知道_why_它的工作原理,但它的工作原理。謝謝。 –
好了,沒有它,點只匹配非換行符,所以如果有間換行'== == BEGIN'和'== == END',正則表達式失敗。 –