【问题标题】:Extract address from description with regex使用正则表达式从描述中提取地址
【发布时间】:2009-06-04 12:23:06
【问题描述】:

我正在尝试使用正则表达式从列表中提取地址(用法语编写)。 这是一个例子:

“别等了,这房子不会上市太久了! 图片可根据要求转发。

德拉街 123 号 - 城市 345-555-1234 "

想象一下,整个事情就是 item.description。到目前为止,这是一个工作集:

在“item.description”中,将“^\d{1,4} des|de la|du [^,\s]+$”替换为“whatever”

并且地址(123 de la street)将被正确地覆盖。但是,如果我试图让它成为描述中唯一保留的东西,就像这样(这很有效):

在“item.description”中,将“(.)(^\d{1,4} des|de la|du [^,\s]+$)(.)”替换为“$2”

用地址替换整个描述的最佳方式是什么?

谢谢!

【问题讨论】:

    标签: regex street-address


    【解决方案1】:

    尝试将 * 添加到第一个和最后一个标记,并注意 ^$ 符号! (它们匹配文本的开头和结尾。)

    "^(.*)(\d{1,4} des|de la|du [^,\s]+)(.*)$"
    

    【讨论】:

    • 谢谢 Miroslav,我也试过了,但没有运气。不过,我会认为这是可行的……看看我在大卫的回答上留下的评论,看看这是否会改变任何事情
    • 由于您的文本跨越多行,我认为问题在于“。”不匹配换行符。我不熟悉 Yahoo Pipes,因此无法就如何改变这种行为向您提供建议。
    • 多行是问题所在,我只是在运行此正则表达式之前删除了所有
      标签并且它有效。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-03
    • 2015-12-17
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多