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

2022-11-03 20:33:20 +08:00
 ADzzzz

样例

1 )
请前往某某小区 12 幢一楼某某驿站领取快递包裹

2)
请前往某某路 152 号(某某小区东门左转)某某快递点领取快递包裹

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

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

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

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

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

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

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

别说正则,你自己怎么区分?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/892461

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX