java :6—20个字符,只能包含大小写,数字,标点(空格除外) 正则表达式怎么写?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java :6—20个字符,只能包含大小写,数字,标点(空格除外) 正则表达式怎么写?相关的知识,希望对你有一定的参考价值。

参考技术A ^[A-Z0-9[^ ]]6,20$

望采纳!!!

本回答被提问者采纳
参考技术B 得到单个字符的编码值,根据编码值去判断,更加简单追问

具体怎么做,能举个例子吗?

追答

每个字符都有唯一的ASCII码,数字,字母等各种字符都有范围
var strAscii = new Array();//用于接收ASCII码
for(var i = 0 ; i < str.length ; i++ )
strAscii[i] = str.charCodeAt(i);//只能把字符串中的字符一个一个的解码

根据各种字符的范围去判断。

java 正则表达式 包含字母数字特殊字符

1、必须包含字母(需要大小写同时存在)数字和特殊字符
2、字母和数字不能连续三个相同,如:aaa、111、AaA(这样也不行)
3、字母和数字不能三个连续,如:abc、123
4、可以不用一条正则写出来
5、java必须能用,最好再写出来一个js能用的

最后,万分感谢!

参考技术A

/\\b(?!\\d3|[a-z]3)([0-9a-z])(?!\\1\\1)[0-9a-z]*\\b/gi

我不明白你的第一条的意思 

我只能不匹配   1. 3个连续字母或3个连续数字(4个连续也不能匹配)

                       2. 3个连续相同的字母或数字(其实1已经否定了2)

   /***/gi  gi是全局不区分大小写匹配   ***是正则表达式

希望我这样写你能从中得到启发


            

----------------------------------------------------------------

如果想匹配4个及4个以上连续的字母数字 可以用

\\b(?!\\d3|[a-z]3)([0-9a-z])(?!\\1\\1)[0-9a-z]*\\b|\\b(?=\\d4,|[a-z]4,)([0-9a-z])(?!\\1\\1)[0-9a-z]*\\b

--------------------------------------------------------------------

参考技术B String regEx="[A-Z,a-z,0-9,-]*"

 boolean result=Pattern.compile(regEx).matcher(str).find();追问

这个不行

以上是关于java :6—20个字符,只能包含大小写,数字,标点(空格除外) 正则表达式怎么写?的主要内容,如果未能解决你的问题,请参考以下文章

java正则表达式,要求是匹配的字符串,只能包含3或5或6这3个数字并且每个数字由;隔开

6至20位之间,必须以字母开头,且至少包含一个数字或下划线!!!!的JAVA 正则怎样写?

java 正则表达式 包含字母数字特殊字符

java怎么实现自动生成一个由英文字母(区分大小写)、数字、符号组成,6-12个字符 的密码

java正则表达式,要求字符串只能包含数字、英文大小写、以及“-”符号

6到20位数字和字母组合 正则表达式