正则表达式
概述:
他就是一个特殊的字符串,他代表的不是单个的字符序列,他表示是一类字符序列的规则,只要符合该规则的字符串都是属于正则表达式,表示的字符序列的范畴【定义了字符序列的规则】
作用:
限定字符串使用的场景和范围,可以提供字符串的校验规则,进一步满足实际开发的需求,提升开发效率和安全性。比如:用户名的校验
好处:
可以使用简单的代码处理复杂的事情
坏处:
增加了校验的难度
正则表达式的基本内容
1、特殊字符:
\\
: 代表 \
\t : 制表符 tab键的内容
\r : 换行
\n : 新行
2、字符类:
概述:
在正则表达式中字符类用来表示单个字符。
使用符号[]表示单个字符:比如:"[]"
最基础的表现形式:
1、[abc]:表示只能出现指定abc三个字符中的一个
2、[^abc]
:表示除去指定abc字符以外的其他任意字符的一个
3、[a-zA-M]:表示出现的字符必须是指定的范围字符中的一个
代码示例:
public class RegexDemo {
public static void main(String[] args) {
//定义字符类的正则表达式
// 表示规则: 字符串长度为1,出现的内容为amn中的任意一个
String regex = "[amn]";
//采用String的matches方法来匹配这个规则,匹配到了就是true,匹配不到就是fasle
System.out.println("".matches(regex)); //false 长度不够
System.out.println("amn".matches(regex)); //false 长度超了,匹配不上
System.out.println("am".matches(regex)); //false 长度超了
System.out.println("a".matches(regex)); //true
System.out.println("m".matches(regex)); //true
System.out.println("n".matches(regex)); //true
System.out.println("h".matches(regex)); //false 内容不匹配
System.out.println("===============");
//规则: 长度为1, 内容不是abc的单个字符
String regex2 = "[^abc]";
System.out.println("a".matches(regex2)); //false
System.out.println("b".matches(regex2));//false
System.out.println("c".matches(regex2));//false
System.out.println("dd".matches(regex2));//false
System.out.println("f".matches(regex2));//true
System.out.println