public class Regex {
//1、正则表达式:是有规则的一种表达式
// 我们常用regex来表示正则表达式
// 主要作用:
// 通过一种有规则的字符模式,对 目标字符串进行查询、提取、替换、分割的作用
// 典型的应用场景:校验相关字符是否匹配规则:用户名校验、电话号码校验、邮箱校验
//2、正则表达式的语法
// 一、边界符号:
// ^ -- 表示开始符号
// $ -- 表示结束符号
// \b -- 表示边界符号
// \B -- 表示非边界符号
// 二、描述普通字符
// 小写字符:"abcdef..." --> [a-z]
// 大写字符:"ABCDEF..." --> [A-Z]
// 数字:"0123456789" --> [0-9]
//部分字符范围,比如:表示a、b、c、d的范围 --> [a-d]或者[abcd]
// 三、转义字符
// 用法:\(反斜杠)加上特殊符号进行转义
// (),\.,\',\?,\*
// .在正则表达式中表示匹配一个除了换行符之外的单字符,如果我们要进行描述.本身的话,需要用转义写法\.
// 四、数量限定:
// {3} --> 表示3个
// {0,} --> 表示0到多个字符,作用相当于*
// {1,3} --> 表示1个到3个
// {1,} --> 表示1个到多个,作用相当于+
// 表示最多3个的时候,写法:{0,3},不能写成{,3}
// 五、或者 |
// "(a|b)c" --> 表示ac或者bc
// "(a|b)*c" --> 表示c之前跟了0个或者多个的a或者b,相当于a*c 或者 b*c
// 六、特殊字符. --> 表示匹配除了换行符(\n)之外的任何一个单字符
// 如果要匹配“.”本身,要使用转义写法"\."
// 七、方括号[] --> 表示某些字符允许在一个字符串中的某一个特定位置出现
// "[ab]." --> 表示一个字符串中有一个a或者b
// 八、否定符[^]
// 不允许在字符串中出现字符的表示方法,在方括号中用"^"表示不希望出现的字符,‘^’应该要放在括号首位
// 九、() --> 标记一个子字符串的开始和结束的位置,子字符串可以获取供以后使用,如果要匹配"("和")",应该用转义写法
// 十、其他的一些间接的正则表达式的写法:
// \w --> 匹配包括下划线的任何单词字符,等价于"[A-Za-z0-9_]"
// \W --> 匹配任何非单词字符,等价于"[^A-Za-z0-9_]"
// \d --> 匹配一个数字字符,等价于[0-9]
// \D --> 匹配一个非数字字符,等价于[^0-9]
//正则表达式在Java中的应用:
// JDK1.4版本之后,Java正式包含正则表达式的类库:java.util.regex
// Pattern pttern对象是一个正则表达式经过编译之后的表现形式
// Matcher 它依据pattern对象作为匹配模式对字符串展开匹配检查
public static void main(String[] args) {
//用法一:典型的调用顺序
String regex = "[a-zA-Z]+";
String input = "Goktech2018";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.matches()) {
System.out.println(input+"符合用户名规则");
} else {
System.out.println(input+"不符合用户名规则");
}
//用法二:使用Pattern类中的matches方法直接匹配
// 第一个参数:正则表达式规则
// 第二个参数:目标字符串
boolean b = pattern.matches(regex, input);
System.out.println(b);
}
}
Java正则表达式(笔记归纳)
最新推荐文章于 2023-02-25 14:10:44 发布