我可以以某种方式限制整个表达式的字符数吗?
我想限制表达式中的字符数,例如:
([0-9]+(\.?[0-9]+)*)
我希望接受限制后的字符串。例如,如果限制为 4:
12.3
被接受012
没有12345
没有。
我可以以某种方式限制整个表达式的字符数吗?
我想限制表达式中的字符数,例如:
([0-9]+(\.?[0-9]+)*)
我希望接受限制后的字符串。例如,如果限制为 4:
12.3
被接受012
没有12345
没有。使用锚定前瞻(例如最大 33):
^(?=.{0,33}$)([0-9]+(\.?[0-9]+)*)
要使其恰好为33,请删除0,
忽略限制中的周期数
^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*)
正则表达式量词:
{n}
- 确切的n
外观{n,m}
- 最小n
出现次数,最大m
出现次数{,m}
- 最小零,最大m
{n,}
- 最小n
,最大无穷大。*
- 任何数量。相当于{0,}
+
- 一个或多个。相当于{1,}
?
- 零或一。相当于{0,1}
这大概总结了一下。