正则表达式匹配一个数字两到四次

时间:2011-11-18 02:43:36

标签: regex numbers

这是一个关于正则表达式的简单问题,但我找不到答案。

我想确定一个数字是否按顺序出现两个四个次。我可以使用什么语法?

\d{what goes here?}

我试过了\d{2,4},但这个表达式也接受了三位数。

2 个答案:

答案 0 :(得分:104)

没有具体的语法,但有很多方法可以做到:

(?:\d{4}|\d{2})    <-- alternation: four digits or two
\d{2}(?:\d{2})?    <-- two digits, and optionally two more
(?:\d{2}){1,2}     <-- two digits, times one or two

答案 1 :(得分:3)

static int

这是正确的方法。接受的答案是错误的。

它将匹配3个数字(或5个数字)。 https://docs.groovy-lang.org/latest/html/documentation/sql-userguide.html#_stored_procedures

1)检查2位数或4位数序列之前或2位数或4位数序列之后没有数字。

  • static int的语法为否定式

  • (?<!\d)(\d{2}|\d{4})(?!\d) 语法为负先行。

以上内容适用于中间字符串:

如果搜索字符串周围没有内容,则可以使用字符串锚点的(<!)(?!)开头和结尾:

^