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

布莱恩·琼斯(T. Brian Jones)

最终解决方案

/(\d{1,5}\s[^\d].{5,20}(dr|drive)(\.|\s|\,))/i

原始问题

正则表达式

/([0-9]{1,5}.{5,20}(dr|drive)(\.|\s|\,))/i

图案

PO Box 66 23 Britton Drive Bloomfield CT 06002

此正则表达式返回“ 66 23 Britton Drive”。我想退回'23 Britton Drive'。我已经尝试了Regex的以下变体:

/(([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

更多无效的模式

PO Box 156 430 S Wheeling Dr. Wheeling, IL 60090

有效的模式

1195 Columbia Dr PO Box 1256 Longview, WA 98632
3400 SW Washington drive PO Box 1349 Peoria, IL 61654
abc123
^[^\d]+\d{2} (\d{2} [^ ]+ [^ ]+)

正则表达式可视化

Debuggex演示

显然,我需要更多的模式才能在所有情况下都可以使用

当前RegEx的小补丁

(\d{1,5} [^\d]{5,20}(dr|drive)(\.|\s|\,))

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何清除状态的一部分

我如何告诉gcc我的内联汇编函数是堆栈的一部分?

我是僵尸网络的一部分吗?

Safari删除我的段落的一部分

如何一次编辑我的 csv 文件的一部分?

如何检查我的字符串是联合类型的一部分

Git&Intellij,我如何只提交更改文件的一部分

我如何编译(运行)C# 中的一部分代码?

如何使我的代码的一部分可供多个活动访问

我如何可以专注于GoogleMap的某一部分

我如何迭代从Mongodb返回的arrayList作为结果的一部分?

如果我们只知道className的一部分,如何删除className?

如何将我的/ boot分区合并为/分区的一部分?

如何使我的句子的一部分左对齐并保持右对齐

如果路径的最后一部分是变量,如何使我的网页的 URL 起作用?

我如何才能将列表的一部分放在特殊元素的前面?

如何在点击时禁用我的脚本的一部分?

如何将登录模块实现为我的 iOS 框架的一部分

我如何根据表中的tr追加表的一部分?

如何设置我绘制的fabricjs文本对象的一部分的样式?

我如何创建自己的完成处理程序作为方法参数的一部分

如何在我的网站上查看其他网站的一部分?

作为我提交给Slurm的一部分,如何激活特定的Python环境?

如何将我的Javascript变量打印为HTML属性的一部分?

如何添加外部头盔作为我的头盔的一部分?

如何在我的代码的这一部分放入变量?

我如何在React Native中剪切视图的一部分

我如何利用 TDD 删除类的面向公众的 API 的一部分?

如何访问我的csv文件的一部分-android