Java 用于限制长度的正则表达式
我有一个正则表达式Java 用于限制长度的正则表达式,java,regex,Java,Regex,我有一个正则表达式 ^[\\p{L}\\d._]*\\p{L}+[\\p{L}\\d._]*$ 它接受字母表、字母数字和特殊字符,如。还有!。我们可以让这个正则表达式接受最小长度为三(包括字符、字母数字等)和最大长度为15(包括字符、字母数字等)的总长度吗 谢谢, 巴拉吉。你试过了吗 ^[\p{L}\d._]*\p{L}+[\p{L}\d._]{3,15} 要添加一个额外的检查,确保总长度在3到15之间,您可以使用lookahead: (?=^.{3,15}$)^[\\p{L}\\d._]
^[\\p{L}\\d._]*\\p{L}+[\\p{L}\\d._]*$
它接受字母表、字母数字和特殊字符,如。还有!。我们可以让这个正则表达式接受最小长度为三(包括字符、字母数字等)和最大长度为15(包括字符、字母数字等)的总长度吗
谢谢,
巴拉吉。你试过了吗
^[\p{L}\d._]*\p{L}+[\p{L}\d._]{3,15}
要添加一个额外的检查,确保总长度在3到15之间,您可以使用lookahead:
(?=^.{3,15}$)^[\\p{L}\\d._]*\\p{L}+[\\p{L}\\d._]*$
一组表单
(?=)
检查
是否与当前位置匹配,但不向前移动标记。如果(pass.length()<3 | | pass.length()>15)invalidLength(),我将使用代码>+1这太容易了,以至于我以前没有考虑过这件事。嗨,我不确定,无论如何,接受最低3分和最高15分是行不通的thanks@balaji:你能为问题添加一些应该和不应该有效的测试用例吗?有效1.ABC123de(字母数字-不分大小写)2.ABCDEfgh(仅字母-不分大小写)3.Abc_uu.123(仅允许使用特殊字符u和。)我尝试了这一方法,但不知何故它不适用于接受最小值3和最大值15。最后应该有一个$
。