通过Regex根据邮政编码获取完整地址

时间:2014-01-23 01:59:57

标签: ruby-on-rails ruby regex

enter image description here

我想抓住以红色突出显示的地址。 “站点位置:”可以通过match()轻松识别。但是,如何才能抓住突出显示的部分,而无需查看正在进行的内容,即“您已应用...等”。请注意,正在进行的内容并不总是以“您已申请”开头。

我将做的是以下内容:

  1. 寻找“网站位置:”
  2. 在“网站位置:”之后抓取任何内容,直至找到空/空白新行。
  3. 任何人都可以帮助我在Ruby中实现它吗?

    请注意,整个文本存储在字符串变量中。

1 个答案:

答案 0 :(得分:0)

regex = /\bSite Location:\s+(.*?)\n\s*\n/m

str = "Site Location:   Raglan Street
                        Collingwood Town, Some County

You have applied..."

if md = regex.match(str)
  address = md[1].strip.gsub(/^\s+/,'')
  puts address
end

输出:

Raglan Street
Collingwood Town, Some County

注意:要注意的一件事是可能存在不同类型的换行符。例如。 Microsoft可能会使用\r\n\r\n等,在这种情况下,您可能需要相应地调整regex