0

我可以找人在我的剧本上打洞吗?我的正则表达式可以很好地在 textwrangler 中找到 url,但是当我运行我的脚本时,parseducc.txt 文件会将一些零碎的东西放在不同的行上。

export = File.new("parseducc.txt" , "w+")
File.open("uccdata.txt").each_line do |line|

    line.scan(/(([a-zA-Z0-9-])+\.)+([a-zA-Z]){3,4}/) do |x|
        export.puts x
    end
end

样本输出

dhl-美国。

米加
价。
t

联邦快递。
x

黄色。

_

我使用此脚本的目标是逐行扫描文件并提取 URL 并将它们每行一个转储到新的输出文件中。我已经尝试了这个脚本的几种变体,但显然我遗漏了一些东西。我猜它在我的正则表达式中,但我使用了我在 regexlib.com 上找到的不同变体,它们显示出不同的类似问题。

4

1 回答 1

1

试试这个:

export = File.new("parseducc.txt" , "w+") 
File.open("uccdata.txt").each_line do |line| 
  line.scan(/(https?:\/\/\S+)/) do |x| 
    export.puts x 
  end 
end
于 2012-06-27T13:24:14.253 回答