Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用于限制长度的正则表达式_Java_Regex - Fatal编程技术网

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。最后应该有一个
$