java学习笔记——正则表达式
2024-08-29 08:32:47
NO | 方法名称 | 类型 | 描述 |
1 | public boolean matches(String regex) | 普通 | 正则验证使用 |
2 |
public String replaceAll(String regex,String replacement) |
普通 | 全部替换 |
3 |
public String replaceFirst(String regex,String replacement) |
普通 | 替换首个 |
4 | public String[] split(String regex) | 普通 | 全部拆分 |
5 |
public String[] split(String regex,int limit) |
普通 | 部分拆分 |
正则符号(所有的正则匹配符号否在Java.util.regex.Pattern;中提供):
1.表示单个字符(每出现一个表示一位):
- x:表示由x组成;
- \\:表示转移字符"\"
- \t:表示制表符,\n表示换行
2.表示字符的选用范围(每出现一个表示一位):
- [abc]:表示可能是a b c 中的任意一个(注意:只能匹配一个字符);
public class demo1 { public static void main(String[] args) {
// TODO Auto-generated method stub
String str="a";
System.out.println(str.matches("[abc]"));
} }public class demo1 { public static void main(String[] args) {
// TODO Auto-generated method stub
String str="ab";
System.out.println(str.matches("[abc][abc]"));
} }[^abc]:表示 任何字符,除了 a、b 或 c(否定)
[a-zA-Z]:a 到 z 或 A 到 Z,两头的字母包括在内(范围)
- [0-9]:
3.简化表达式(每出现一个表示一位):
- .:表示任意一位字符;
- \d:表示任意一位数字,相当于[0--9];
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="2";
System.out.println(str.matches("\\d"));
}
}- \D:表示不是一个数字,相当于[^0--9];
- \s:表示任意一位空格;
public class demo1 { public static void main(String[] args) {
// TODO Auto-generated method stub
String str="\t";
System.out.println(str.matches("\\s"));
}
}- \S:表示不是任意的一位空格;
- \w:表示字母(包括大写或小写) 数字 下划线中的任意一位;
4.边界匹配:
- ^:写在正则之前,表示正则开始;
- $:写在正则最后,表示正则结束;
5.数字规范:
- ?:表示正则规范只能出现0次或者1次;
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="";
System.out.println(str.matches("\\d?"));
String str1="22";
System.out.println(str1.matches("\\d?"));
}
}- *:表示出现0次 1次 或者多次;
- +:表示正则出现1次 或者多次;
- {n}:表示此正则正好出现n次;
- {n,}:表示此正则出现n次及n次以上;
- {n,m}:表示此正则出现n~m次;
6.逻辑表达式:
- 正则X正则Y:执行正则X后执行正则Y;
- X|Y:满足正则X或者正则Y其中一个即可;
- (正则):表示多个正则成为一组;
7.通过String类操作字符:
- 如:只保留字母
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="afajhj2313535{}]gaj>?';f'afag;lag";
String regex="[^a-zA-Z]";
System.out.println(str.replaceAll(regex, ""));
}
}- 替换(利用split()函数)
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="a1b22c333d4444e55555f666666g";
String regex="\\d+";
String [] res=str.split(regex);
for(int i=0;i<res.length;i++)
System.out.println(res[i]);
}
}- 用户名有字母 数字 下划线表示并且有6~15个字符;
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="wangxiang_123*";
String regex="\\w{6,15}";
System.out.println(str.matches(regex));
String regex1="(\\d|[a-zA-Z]|_|\\*){6,15}";
System.out.println(str.matches(regex1));
}
}- 现在某学校的学生成绩那照"姓名:年龄:生日:成绩"格式,这样的数据可以出现多次并以|分隔, 如:ALLEN:19:1993-05-02:98.6|JUDY:21:2000-09-02:78|SARA:20:1994-08-21:97.5
- 下面对各个判断进行拆分:
- 名字:
String str="zhansan";
String regex="[a-zA-Z]+";- 年龄:
String str="19";
String regex="\\d{1,3}";- 生日:
String str="1993-09-02";
String regex="\\d{4}-\\d{2}-\\d{2}";- 成绩:
String str="98.98";
String regex="\\d{1,3}(\\.\\d{1,2})?";- 单个学生格式综合:
String str="ALLEN:19:1993-05-02:98.6";
String regex="[a-zA-Z]+:\\d{1,3}:\\d{4}-\\d{2}-\\d{2}:\\d{1,3}(\\.\\d{1,2})?";- 整个判断:
public class demo1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str="ALLEN:19:1993-05-02:98.6|JUDY:21:2000-09-02:78|SARA:20:1994-08-21:97.5";
String regex="([a-zA-Z]+:\\d{1,3}:\\d{4}-\\d{2}-\\d{2}:\\d{1,3}(\\.\\d{1,2})?\\|?)+";
System.out.println(str.matches(regex));
}
}
最新文章
- iOS中block的用法 以及和函数用法的区别
- 程序员编程艺术第三十六~三十七章、搜索智能提示suggestion,附近点搜索
- Hibernate Java、Hibernate、SQL 之间数据类型转换
- 2013 ACM 通化邀请赛 A. Tutor
- Mysql的相关命令
- 【HDOJ】1018 Big Number
- [Javascript] What is JavaScript Function Currying?
- Readonly and other things about C++
- 基于视觉信息的网页分块算法(VIPS) - yysdsyl的专栏 - 博客频道 - CSDN.NET
- mrtg监控网络流量简单配置
- C#编程实践–帮老婆计算产假方案
- mongoDB3--mongoDB的基本操作。
- 转载:IIS 之 连接数、并发连接数、最大并发工作线程数、队列长度、最大工作进程数
- mac电脑使用技巧和相关快捷键
- Add Zabbix Agent
- 缺陷管理工具Jira安装参考
- oracle 导出某用户下的表
- PHP字符串截取函数
- @Dubbo概述
- 抽象 abstract 和 接口 interface。 java 的 堆 和 栈。 参数传递(基本类型和普通对象的区别)