首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我如何使我的Regex非贪婪的一部分?

我如何使我的Regex非贪婪的一部分?
EN

Stack Overflow用户
提问于 2014-02-01 01:43:01
回答 1查看 299关注 0票数 1

终解

代码语言:javascript
运行
复制
/(\d{1,5}\s[^\d].{5,20}(dr|drive)(\.|\s|\,))/i

原始问题

Regex

代码语言:javascript
运行
复制
/([0-9]{1,5}.{5,20}(dr|drive)(\.|\s|\,))/i

模式

代码语言:javascript
运行
复制
PO Box 66 23 Britton Drive Bloomfield CT 06002

这辆公寓楼正在返回“布里顿大道66号23号”。我要回布里顿大道23号。我试过以下Regex的变体:

代码语言:javascript
运行
复制
/(([0-9]{1,5}.{5,20})?(dr|drive)(\.|\s|\,))/i - adding a new capturing group and making it uncreedy
/([0-9]{1,5}.{5,20}?(dr|drive)(\.|\s|\,))/i - making the length of in between characters ungreedy
/([0-9]{1,5}.{5,20}(dr|drive)(\.|\s|\,))/Ui - adding ungreedy modifier

更多不起作用的模式

代码语言:javascript
运行
复制
PO Box 156 430 S Wheeling Dr. Wheeling, IL 60090

可以工作的模式

代码语言:javascript
运行
复制
1195 Columbia Dr PO Box 1256 Longview, WA 98632
3400 SW Washington drive PO Box 1349 Peoria, IL 61654
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-01 01:47:23

代码语言:javascript
运行
复制
^[^\d]+\d{2} (\d{2} [^ ]+ [^ ]+)

Debuggex Demo

很明显,我需要更多的模式才能让这个模式适用于所有情况

当前 RegEx的小修复程序

代码语言:javascript
运行
复制
(\d{1,5} [^\d]{5,20}(dr|drive)(\.|\s|\,))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21493106

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档