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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();追问

这个不行

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 正则表达式 包含字母数字特殊字符

Java用正则表达式 过滤特殊字符,只允许中文、字母或数字,该怎么写?急。。。。

求一个正则表达式,要求 数字,大写字母,小写字母,特殊字符 至少两种或两种以上组合的正则表达式。

php 正则表达式 只能包含字母和数字

必须包含数字、字母、特殊字符三种的正则?

正则表达式验证密码必须由大小写字母、数字、特殊字符组成