小编osc*_*loo的帖子

使用正则表达式匹配在其中某处有5个连续数字增加的数字

首先,这有点被问.但是我无法修改它以符合我的要求.

简而言之:我想要一个与表达式匹配的正则表达式,当且仅当它只包含数字时,表达式中某处有5个(或更多)连续数字.

我理解的逻辑

^(?=\d{5}$)1*2*3*4*5*6*7*8*9*0*$
Run Code Online (Sandbox Code Playgroud)

但是,这会将表达式限制为5位数.我希望能够在表达式之前和之后成为数字.所以1111345671111应该匹配,而不11111应该.

我认为这可行:

^[0-9]*(?=\d{5}0*1*2*3*4*5*6*7*8*9*)[0-9]*$
Run Code Online (Sandbox Code Playgroud)

我解释为:

  • ^$:整个表达式必须只包含这两个符号之间的内容

  • [0-9]*:0- 9,0或更多次之间的任何数字后跟:

  • (?=\d{5}0*1*2*3*4*5*6*7*8*9*):找到至少5个增加数字的部分,后跟:

  • [0-9]*:0- 9,0或更多次之间的任何数字.

但是这个正则表达式是不正确的,例如11111匹配.如何使用正则表达式解决此问题?所以要匹配的表达式示例:

  • 00001459000
  • 12345

这应该不匹配:

  • abc12345
  • 9871234444

regex

17
推荐指数
2
解决办法
749
查看次数

标签 统计

regex ×1