如何使用RegEx匹配至少5位数或更长的数字?

时间:2014-08-23 08:53:11

标签: regex

Stack Overflow上有关于如何match a number of a certain length的主题,但这不是我想要做的。

我希望匹配一个数字为5位或更多的数字,但如果它后面或之前的数字不是数字,则不匹配。

4 个答案:

答案 0 :(得分:5)

您可以使用匹配5位数或更多位数的\d{5,},然后:

  • 如果您希望将此号码作为,请使用 \b\d{5,}\b \b匹配字边界。
  • 如果这是自己的行上的数字,请使用 ^\d{5,}$ 。当^与其结尾匹配时,$匹配该行的开头。

这是an example

答案 1 :(得分:2)

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

^\D*(?:\d\D*){5,}$

<强> REGEX DEMO

或更简单:

^\d{5,}$

<强> REGEX DEMO

答案 2 :(得分:0)

使用^表示字符串的开头,$表示字符串的结尾。

/^[\d]{5,}$/

所以&#39; 12354&#39;是真的但是#12; 12345 foo&#39;是假的。这是你的问题吗?

答案 3 :(得分:0)

我希望这是你正在寻找的东西

/(?<=\d\s)\d{5,}(?=\s\d)/g

说明:

(?<=                     look behind to see if there is:
  \d                       digits (0-9)
  \s                       whitespace (\n, \r, \t, \f, and " ")
)                        end of look-behind
\d{5,}                   digits (0-9) (at least 5 times)
(?=                      look ahead to see if there is:
  \s                       whitespace (\n, \r, \t, \f, and " ")
  \d                       digits (0-9)
)                        end of look-ahead

Demo

或者更复杂的东西

/(?<=\d(?:\s))\d{5,}(?=\s(?:\d))/g