我制作了一个正则表达式来检查 String 的长度,所有字符都是数字并以数字开头,例如 123
以下是我的表情
REGEX =^123\\d+{9}$";
但它无法检查字符串的长度。它仅验证那些长度为 9 并以 123 开头的字符串。
但如果我传递字符串 1234567891 它也会验证它。但我该怎么办呢,哪件事是我这边错了。
就像这里已经回答的那样,最简单的方法就是删除+
:
^123\\d{9}$
or
^123\\d{6}$
具体取决于您需要什么。
您还可以使用另一种更复杂和更通用的方法,即负向前瞻:
(?!.{10,})^123\\d+$
解释:
This: (?!.{10,})
is a 消极前瞻 (?=
将是一个积极的前瞻),这意味着如果前瞻之后的表达式与此模式匹配,则整个字符串不匹配。大致意思是:仅当否定前瞻中的模式不匹配时,才满足此正则表达式的条件.
在这种情况下,字符串匹配only if .{10}
不匹配,这意味着 10 个或更多字符,因此仅当前面的模式匹配最多 9 个字符时才匹配。
正向前瞻的作用相反,仅在前瞻中的条件满足时才匹配also火柴。
只是出于好奇而将其放在这里,它比您需要的更复杂。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)