我需要一个正则表达式,至少需要一个数字和六个最大。
我已经解决了这个问题,但它们似乎都不起作用。
^[0-9][0-9]\?[0-9]\?[0-9]\?[0-9]\?[0-9]\?$ ^[0-999999]$
还有别的建议吗?
^[0-9]{1,6}$应该可以。我对 VB.NET 的了解还不足以知道它们是否相同。
^[0-9]{1,6}$
例如,看看 维基百科。
您可以使用范围量词 {min,max}来指定最小1位数字和最大6位数字,如下所示:
{min,max}
说明:
^ : Start anchor [0-9] : Character class to match one of the 10 digits {1,6} : Range quantifier. Minimum 1 repetition and maximum 6. $ : End anchor
为什么你的正则表达式不工作?
正则表达式就差一点了:
^[0-9][0-9]\?[0-9]\?[0-9]\?[0-9]\?[0-9]\?$
因为在 ?之前加上 \,所以 ?不再充当正则表达式元字符(对于 0或 1重复) ,而是按照字面意义处理。
?
\
0
1
要修复它只需删除 \和你在那里。
看看这个。
基于量词的正则表达式更短、更易读,并且可以轻松地扩展到任意数字。
你的第二个正则表达式:
^[0-999999]$
等同于:
^[0-9]$
它们是等价的,因为字符类 [aaaab]与 [ab]相同。
[aaaab]
[ab]
^\d{1,6}$
....................
你可以试试
应该能行。
\b\d{1,6}\b
解释
\b # word boundary - start \d # any digits between 0 to 9 (inclusive) {1,6} # length - min 1 digit or max 6 digits \b # word boundary - end
/^[0-9][0-9][0-9][0-9]$/
只输入4位数字
^[a-zA-Z0-9]{1,6}$
正则表达式6位数字和字母的角