V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ADzzzz
V2EX  ›  问与答

求教,一个字符串内同时包含门店地址与门店名称,且地址与名称之间没有可用于分隔的文字,如何使用正则分别匹配出地址与名称?

  •  
  •   ADzzzz · 2022-11-03 20:33:20 +08:00 · 932 次点击
    这是一个创建于 778 天前的主题,其中的信息可能已经有所发展或是发生改变。

    样例

    1 )
    请前往某某小区 12 幢一楼某某驿站领取快递包裹
    
    2)
    请前往某某路 152 号(某某小区东门左转)某某快递点领取快递包裹
    

    本来以为下面这个正则能满足需求

    请前往(?<address>.*?)(?<name>.*?)领取快递包裹
    

    结果测试之后发现匹配出的效果是这样的😭

    请前往某某小区 12 幢一楼某某驿站领取快递包裹
    address: null
    name: 某某小区 12 幢一楼某某驿站
    

    困扰一天了,实在想不到什么办法能解决,听说 v2 大佬多,特来请教,小弟感激不尽

    测试地址: https://regex101.com/r/oMogDS/1

    7 条回复    2022-11-04 09:17:00 +08:00
    masker
        1
    masker  
       2022-11-03 20:46:08 +08:00 via Android
    Yourshell
        2
    Yourshell  
       2022-11-03 20:49:03 +08:00
    没有分隔符或长度限制用正则肯定是不行的
    my8100
        3
    my8100  
       2022-11-03 20:49:29 +08:00 via iPhone
    ADzzzz
        4
    ADzzzz  
    OP
       2022-11-03 21:25:49 +08:00
    @masker
    @Yourshell
    感谢两位大佬,不过看起来匹配的效果还是不太行 😭
    ADzzzz
        5
    ADzzzz  
    OP
       2022-11-03 21:27:44 +08:00
    @my8100 正则已经是我能想到的可行性最高的方案了...
    autoxbc
        6
    autoxbc  
       2022-11-03 21:30:55 +08:00
    感觉适合机器学习来做
    jifengg
        7
    jifengg  
       2022-11-04 09:17:00 +08:00
    “请前往幸福路快乐小区十八号当铺领取快递包裹”

    别说正则,你自己怎么区分?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2116 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:22 · PVG 08:22 · LAX 16:22 · JFK 19:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.