正则表达式检测连续数字

时间:2015-04-15 17:12:41

标签: regex numbers

我需要一个符合以下条件的正则表达式:

  • Word至少有2个数字
  • 数字不连续

这个词应该没问题:

abc2def3das
gh2ik7lm2fgd

这个词不应该没问题:

abc20def3asd
abc262def93f34

我如何使用正则表达式执行此操作? 我尝试过像

这样的东西
/[0-9][^0-9][0-9]

但这没有用。

2 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式:

^(?=\D*\d\D+\d.*$).+$

Demo

解释

  • ^ - 字符串的开头
  • (?=\D*\d\D+\d.*$) - 正向前瞻以检查字符串是否具有至少2个非连续数字(限制为仅2位数,将.替换为{{ 1}})
  • \D - 任何字符,1次或多次重复
  • .+ - 字符串结尾

答案 1 :(得分:0)

你可能正在寻找:

^\D*\d(?:\D+\d)+\D*$

^$是字符串开头和结尾的锚点。