Regex 控制表达式中的字符数?

Regex 控制表达式中的字符数?,regex,Regex,我可以限制整个表达式的字符数吗 我想限制表达式中的字符数,如: ([0-9]+(\.?[0-9]+)*) 我希望接受限制后的字符串。对于 例如,如果限制为4: 12.3被接受 012没有 12345没有 使用锚定前瞻(例如max 33): 要精确到33,请删除0, 忽略限制中的期间数 ^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*) 正则表达式量词: {n}-完全n外观 {n,m}-最小n发生次数,最大m发生次数 {,m}-最小零,最大m {n,

我可以限制整个表达式的字符数吗

我想限制表达式中的字符数,如:

([0-9]+(\.?[0-9]+)*)
我希望接受限制后的字符串。对于 例如,如果限制为4:

  • 12.3
    被接受
  • 012
    没有
  • 12345
    没有

使用锚定前瞻(例如max 33):

要精确到33,请删除
0,


忽略限制中的期间数

^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*)
正则表达式量词:

  • {n}
    -完全
    n
    外观
  • {n,m}
    -最小
    n
    发生次数,最大
    m
    发生次数
  • {,m}
    -最小零,最大
    m
  • {n,}
    -最小
    n
    ,最大无穷大
  • *
    -任何金额。相当于
    {0,}
  • +
    -一个或多个。相当于
    {1,}
  • -零或一。与
    {0,1}

这是对它的总结。

为什么012不能?它在4以内。或者它不是一个限制,而是一个指定的长度?非常感谢,另一个快捷方式,我可以让它忽略句号吗?@poncha有关如何在limit@Bohemian对于第二个,限制实际上不起作用。尝试将其更改为{4}并在输入上运行。。。12345是一个匹配项。@poncha我忘了逃过句号。现在就试试我把这个答案作为量词的一般参考,但这个问题的真正答案是。
^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*)