正则表达式 – 正则表达式选择最长的选项

前端之家收集整理的这篇文章主要介绍了正则表达式 – 正则表达式选择最长的选项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试创建一个正则表达式,从字符串中选择最长的两个选项.

数字值最多15个字符长或任何值最多11个字符长.

到目前为止我有这个:

^([0-9]{1,15}|.{1,11})

但是例如字符串:’7elevenshopfood’缩短为’7′,因为它查看了paranthesis的第一部分.如果我切换到

^(.{1,11}|[0-9]{1,15})

字符串’123456789123456789’缩短为’12345678912′,因为它再次查看表达式的第一部分.

任何具有更高regexp知识的人都有自己的想法?

解决方法

这就是大多数正则表达式方言的工作方式,交替按照它们的编写顺序进行测试,第一个匹配部分将结束搜索.

在你的情况下,你可以通过以下方式解决这个问题:

^(\d{12,11})

猜你在找的正则表达式相关文章