java 正则表达式 包含字母数字特殊字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 正则表达式 包含字母数字特殊字符相关的知识,希望对你有一定的参考价值。
1、必须包含字母(需要大小写同时存在)数字和特殊字符
2、字母和数字不能连续三个相同,如:aaa、111、AaA(这样也不行)
3、字母和数字不能三个连续,如:abc、123
4、可以不用一条正则写出来
5、java必须能用,最好再写出来一个js能用的
最后,万分感谢!
/\\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();追问
这个不行
php 正则表达式 只能包含字母和数字
php 正则表达式 只能包含字母和数字判断字符串是否只包含字母和数字
例如
$a = "123";
$b = "acb";
$c = "abc123";
abc变量都可以通过判断
实在不会正则 多谢大佬了/抱拳
式子:/^[a-zA-Z0-9]+$/u
释义:
"/":表示正则表达式的定义,固定写法。
"^":表示开头。
"[]":表示字符组。匹配所包含的任意一个字符。如,“[ab]”匹配“plain”中的“a”。
"a-z":表示匹配小写字母a-z的字母范围。
"A-Z":表示匹配大写字母A-Z的字母范围。
"0-9":表示匹配0-9的数字范围。
"+":表示匹配次数大于等于1。
"$":匹配输入行尾。如果设置了RegExp对象Multiline属性,$也匹配“\\n”或“\\r”之前的位置。
"u":最后的u是模式修饰符,严格的说可能叫预定义常量。表示使用unicode进行匹配。
扩展资料:
其它正则表达式符号的含义:
1、"*":匹配前面的子表达式任意次。例如,zo*能匹配“z”,也能匹配“zo”以及“zoo”。*等价于0,。
2、"?":匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“do”或“does”。?等价于0,1。
3、"n":n是一个非负整数。匹配确定的n次。例如,“o2”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
4、"n,":n是一个非负整数。至少匹配n次。例如,“o2,”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o1,”等价于“o+”。“o0,”则等价于“o*”。
5、"n,m":m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o1,3”将匹配“fooooood”中的前三个o为一组,后三个o为一组。“o0,1”等价于“o?”。请注意在逗号和两个数之间不能有空格。
参考资料来源:百度百科-正则表达式
参考技术A式子:/^[a-zA-Z0-9]+$/u
释义:
(1)“/”:正则表达式的定义,固定的书写形式;
(2)“^”:表示开始;
(3)“[]”:表示一个字符组,匹配包含的任何字符。例如,“[ab]”匹配“plain”中的“a”;
(4)“a-z”:与小写字母a-z匹配的字母范围;
(5)“A-Z”:表示与大写字母A-Z匹配的字母范围;
(6)“0-9”:匹配范围为0-9的数字;
(7)“+”:表示匹配数为一个或多个;
(8)“$”:匹配输入行的结尾。如果设置了RegExp对象的Multiline属性,则$也匹配“\\n”或“\\r”之前的位置;
(9)“u”:最后一个u是模式修饰符,严格来说,它可以是预定义的常数。表示使用unicode进行匹配。
扩展资料:
其它正则表达式符号的含义:
(1)“*”:与上一个子表达式匹配任意次。例如,zo*匹配“z”以及“zo”和“zoo”。*等效于0,;
(2)“?”:匹配上一个子表达式零或一次。例如,“做(es)?”匹配“do”或“does”。?等效于0,1;
(3)“n”:n是一个非负整数。匹配被确定n次。例如,“o2”不能与“Bob”中的“o”匹配,但是可以与“food”中的两个o匹配;
(4)“n,”:n是一个非负整数。至少匹配n次。例如,“o2,”不能匹配“Bob”中的“o”,但是可以匹配“foooood”中的所有o。“o1,”等效于“o+”。“o0,”等效于“o*”;
(5)“ n,m”:m和n是非负整数,其中n <= m。 至少匹配n次,最多匹配m次。 例如,“ o 1,3”将匹配“ fooooood”中的前三个o作为一个组,最后三个o作为一个组。 “ o 0,1”等效于“ o?”。 请注意,逗号和两个数字之间不能有空格。
参考资料来源:
百度百科-正则表达式
参考技术B <?php$regex = '/^[ a-z0-9]$/i';
$str = 'abc123';
if(preg_match($regex, $str))
//符合条件的情况,如果处理不符合的情况,在Else里面进行处理;
echo "\\n";
?>
示例如上
我用的
if(!preg_match($regex, $str, $matches))
判断的。不可行。
我的意思是说只能是"纯字母"或"纯数字"或"字母数字组合"
抱歉,正则中少了一个加号,在中括号后面
括号中的空格去掉
本回答被提问者和网友采纳以上是关于java 正则表达式 包含字母数字特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
Java用正则表达式 过滤特殊字符,只允许中文、字母或数字,该怎么写?急。。。。