Java正则表达式
2022/8/2 1:24:08
本文主要是介绍Java正则表达式,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Java正则表达式
1. 正则表达式-匹配字符类
- -[abc]: 匹配a或者b或者c中的任意一个字符;
- -[^abc]: 匹配除a,b,c以外的任意一个字符;
- -[a-z]: 匹配a到z之间的任意一个字母(小写,包含a和z);
- -[A-Z]: 匹配A到Z之间的任意一个字母(大写,包含A和Z);
- -[0-9]: 匹配0-9之间的任意一个数字字符;
- -[a-ce-g]: 匹配a到c,e-g之间的任意一个字符;
- -[a-ce-g0-5]: 匹配a到c,e-g,0-5之间的任意一个字符;
点击查看代码
public static void main(String[] args) { System.out.println("a".matches("[abc]")); //true System.out.println("a".matches("[^abc]")); //false System.out.println("a".matches("[a-z]")); //true System.out.println("a".matches("[A-Z]")); //false System.out.println("0".matches("[0-9]")); //true System.out.println("a".matches("[a-ce-g]"));//true System.out.println("d".matches("[a-ce-g]"));//false System.out.println("5".matches("[a-ce-g0-5]"));//true System.out.println("a1d".matches("a[0-9]d")); //true 以a开头,以d结尾,中间一位数字 }
2. 正则表达式-匹配逻辑运算符
- &&:且
- | :或
3. 正则表达式-预定义字符
- "." : 匹配任何字符。如果要表示一个字符点,使用\.
- "\d":任何数字[0-9]的简写;
- "\D":任何非数字[^0-9]的简写;
- "\s":空白字符:[ \t\n\x0B\f\r] 的简写
- "\S":非空白字符:[^\s] 的简写
- "\w":单词字符:[a-zA-Z_0-9]的简写
- "\W":非单词字符:[^\w]
点击查看代码
public static void main(String[] args) { System.out.println("abz".matches("a.z")); //true System.out.println("acz".matches("a.z")); //true System.out.println("a".matches("\\.")); //true System.out.println("1".matches("\\d")); //false System.out.println("1".matches("\\D")); //true System.out.println(" ".matches("\\s")); //false System.out.println("a".matches("\\S")); //true System.out.println("a".matches("\\w")); //true System.out.println("1".matches("\\w")); //true System.out.println("@".matches("\\w")); //false System.out.println("@".matches("\\W")); //true }
4. 正则表达式-数量词
- X? : 0次或1次
- X* : 0次到多次
- X+ : 1次或多次
- X{n} : 恰好n次
- X{n,} : 至少n次
- X{n,m}: n到m次(n和m都是包含的)
点击查看代码
public static void main(String[] args) { System.out.println("a".matches("\\w?")); //true System.out.println("aa".matches("\\w*")); //true System.out.println("aa".matches("\\w+")); //true System.out.println("aa".matches("a{2}")); //true System.out.println("aaa".matches("a{2}")); //false System.out.println("a".matches("a{2}")); //false System.out.println("aaa".matches("a{2,}")); //true System.out.println("a".matches("a{2,3}")); //false System.out.println("aa".matches("a{2,3}")); //true //验证是否是手机号 // 1.第一位为1 // 2.第二位是3,5,8 3).后面9位都是数字 System.out.println("15812340987".matches("1[358]\\d{9}"));// true }
5. 正则表达式-分组括号
以小括号将相同规则进行分组
点击查看代码
public static void main(String[] args) { String uuid = UUID.randomUUID().toString(); System.out.println(uuid); //0f030d0f-fa5f-44f3-a510-2cbe60b4c67f String str = "0f030d0f-fa5f-fa5f-44f3-a510-2cbe60b4c67f"; // 4-8位数字或者小写字母,以-结尾,并且出现4次,最后一次12位数字或者小写字母 System.out.println(uuid.matches("([a-z0-9]{4,8}-){4}([a-z0-9]{12})")); //true System.out.println(str.matches("([a-z0-9]{4,8}-){4}([a-z0-9]{12})")); //false }
这篇关于Java正则表达式的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?
- 2024-05-09企业src漏洞挖掘-有意思的命令执行