Java SE之正则表达式Demo
@Test
public void regex() {//匹配教务系统课程
// String content = "公共机座 (1-10)".replaceAll(" ","");
String content = "6A-411公共机房50座 (1-10)".replaceAll(" ","");//标准格式 //6A-411;1-10;50
// String pattern = "^(\\d+)([a-zA-Z])-(\\d+)([\u2E80-\u9FFF]+)(\\d+)([\\u2E80-\\u9FFF]+)......";//原始完全匹配
String pattern = "^(?<arg1>\\d+\\S+(-)(\\d+))([\u2E80-\u9FFF]+)(?<arg2>\\d+)([\\u2E80-\\u9FFF]+).(?<arg3>\\S+).";
String [] items = content.split(pattern);
StringBuilder temp = new StringBuilder();
for(String item : items) {
temp.append(item);
}
System.out.println(temp); Matcher matcher = Pattern.compile(pattern).matcher(content);
if(matcher.matches()){
System.out.println("arg1:" + matcher.group("arg1"));
System.out.println("arg2:" + matcher.group("arg2"));
System.out.println("arg3:" + matcher.group("arg3"));
}
System.out.println(content);
}
输出:
arg1:6A-411
arg2:50
arg3:1-10
6A-411公共机房50座(1-10)
正则的用途:匹配、搜索、替换、验证
1.要点1:[]用于仅能匹配一个字符
2.要点2:()用于固定某种字符串格式
3.要点3:中文utf8范围:[\u2E80-\u9FFF]
4.要点4:在正则表达式中设置参数断点格式:(?<argmentName>(regex1)(regex2)(regexN))
Java SE之正则表达式Demo的更多相关文章
- Java SE之正则表达式四:获取
/** * * @author Zen Johnny * @date 2018年4月29日 下午4:51:08 * */ package demo.regex; import java.util.re ...
- Java SE之正则表达式二:匹配
package demo.regex; import java.util.regex.Pattern; /* 正则表达式:匹配 */ public class RegexMatchesDemo { / ...
- Java SE之正则表达式五:切割
/** * * @author Zen Johnny * @date 2018年4月29日 下午3:53:55 * */ package demo.regex; /* 正则表达式:切割 */ publ ...
- Java SE之正则表达式六:匹配规则
注释: 1.[]表示的字符集,不表示包含 ()表捕获和成组 Eg: 只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一 (qq|gmail|163){1}\.com 与 [(qq)|( ...
- Java SE之正则表达式三:替换
/** * * @author Zen Johnny * @date 2018年4月29日 下午4:31:07 * */ package demo.regex; public class RegexR ...
- Java SE之正则表达式一:概述
正则表达式 概念 定义:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号表示代码的操作,这样就简化了长篇的程序代码 好处:可以简化对字符串的复杂操作 弊端:符号定义越多,正则越 ...
- Monitor and diagnose performance in Java SE 6--转载
Java SE 6 provides an in-depth focus on performance, offering expanded tools for managing and monito ...
- 详解Java API之正则表达式
正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...
- Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)
声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...
随机推荐
- python之pygal:掷一个骰子统计次数并以直方图形式显示
源码如下: # pygal包:生成可缩放的矢量图形文件,可自适应不同尺寸的屏幕显示 # 安装:python -m pip intall pygal-2.4.0-py2.py3-none-any.whl ...
- python之Map函数
# map()函数使用举例 # 功能:map()接受一个函数f和一个或多个list,将f依次作用在list的每个元素,得到一个新的列表 # 语法:map(方法名,列表,[列表2]) # 注意:map( ...
- C# 反射机制以及方法
目录: 一. 反射的主要特性 1.反射中一个非常重要的类型就是 Type 1)当没有对象的时候使用这种方式来获取某个类型的Type 2)当已经获得对象后通过对象的GetType()方法来获取指定对象的 ...
- 解决jupyter中无自己创建的虚拟环境
最近看的教程都是用的jupyter,按理说都一样吧,但是pycharm中python有的模块就弃用了,而jupyter却都可以用,而且jupyter听说也不错,就配置了一下下 1.打开cmd,激活你的 ...
- Impacket官方使用指南
什么是Impacket Impacket是用于处理网络协议的Python类的集合.Impacket专注于提供对数据包的简单编程访问,以及协议实现本身的某些协议(例如SMB1-3和MSRPC).数据 ...
- hql和sql练习题
SQL与HQL练习题 中的所有员工. select * from emp where deptno = 30 from Emp e where e.deptno = 30 2. 列出所有办事员( ...
- 【洛谷P2746】Network of Schools
题目大意:给定一个 N 个点,M 条边的有向图,第一问求至少从多少个点出发才能遍历整个有向图,第二问求至少在这个有向图的基础上加多少条边才能使得该无向图强连通. 题解:先进行 Tarjan 缩点,得到 ...
- 百度地图infoWindow圆角处理
最近的一个项目用到了百度地图API里边的infoWindow弹框,但是百度自带的infoWindow弹框是个直角的矩形框,显示过于难看,于是有了将该框改为圆角的想法,但是API本身不支持样式的设置,所 ...
- 代码大片出现报错,请重新编译——Clean
工作空间中项目莫名大片报错,可能是各种意外原因导致的代码编译错误,可以选 菜单栏的 Project,Clean一下全部项目,系统会自动重新编译所有项目,有时会有奇效.
- 初级BFS
输入:n个顶点,m条边. 接下来输入每一条边的两个顶点. 输出遍历的顺序 #include<iostream> #include<queue> ];//bool mark[10 ...