我可以以某种方式限制整个表达式的字符数吗?
我想限制表达式中的字符数,如:
([0-9]+(\.?[0-9]+)*)
我希望接受超出限制的字符串。对于 例如,如果限制为4:
12.3
被接受012
不12345
没有。答案 0 :(得分:1)
使用锚定前瞻(例如最大33):
^(?=.{0,33}$)([0-9]+(\.?[0-9]+)*)
要使完全 33,请删除0,
忽略限制中的句点数
^(?=(\.*[^.]){0,33}\.*$)([0-9]+(\.?[0-9]+)*)
答案 1 :(得分:1)
正则表达式量词:
{n}
- 完全n
次出现{n,m}
- 最低n
次出现,最多m
次出现{,m}
- 最低零,最高m
{n,}
- 最低n
,最大无穷大。*
- 任何金额。相当于{0,}
+
- 一个或多个。相当于{1,}
?
- 零或一。与{0,1}
这总结了它。