ADzzzz
V2EX  ›  问与答

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

  •  
  •   ADzzzz · Nov 3, 2022 · 1762 views
    This topic created in 1314 days ago, the information mentioned may be changed or developed.

    样例

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

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

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

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

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

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

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

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

    别说正则,你自己怎么区分?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3264 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 51ms · UTC 13:30 · PVG 21:30 · LAX 06:30 · JFK 09:30
    ♥ Do have faith in what you're doing.