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 ...
随机推荐
- Delphi中统一显示表格字段名的高效方法
问题描述:在开发数据库程序时,我们经常要使用很多的表格显示组件DBGrid.当DBGrid显示某表格的数据时,其字段标题默认的就是后台数据库中的表格的字段名称.而为了数据库开发方便,后台数据库中的表格 ...
- Bootstrap排版——HTML元素的样式重定义
前面的话 Bootstrap对默认的HTML元素进行了CSS样式定义,使得各种基本结构套用出来的HTML页面更加美观.本文将详细介绍Bootstrap中排版相关的内容 标题 [h] HTML 中的所有 ...
- 【题解】Hanoi双塔问题
题目描述 给定A,B,C三根足够长的细柱,在A柱上放有2n个中间有空的圆盘,共有n个不同的尺寸,每个尺寸都有两个相同的圆盘,注意这两个圆盘是不加区分的(下图为n=3的情形).现要将这些圆盘移到C柱上, ...
- linux-shell系列7-ssh密匙生成分发
sshpass 该软件就是为ssh提供密码使用的yum install sshpass -y 批量分发脚本内容 #!/bin/bash. /etc/rc.d/init.d/functions # ...
- GDB最常用的命令
为了调试我的指针LCT--我学会了如何使用gdb! 粘一个常用命令表(原文地址:https://blog.csdn.net/tzshlyt/article/details/53668885) gcc ...
- emwin之LISTWHEEL控件之LISTWHEEL_SetPos函数的使用
@2018-09-05 [小记] LISTWHEEL控件的LISTWHEEL_SetPos函数的使用注意事项: 该函数不能在创建窗口的WM_INIT_DIALOG分支下作为修改LISTWHEEL控件属 ...
- A1016. Phone Bills
A long-distance telephone company charges its customers by the following rules: Making a long-distan ...
- Windows 服务程序、窗口界面、桌面交互、与远程桌面
昨天用c写了一个windows服务(服务内部带一个gui窗口+系统托盘),在windows xp sp3上测试,启动服务后,系统托盘显示正常. 但在另一台windows 2003 sp2 上测试(通过 ...
- 和我一起使用webpack构建react项目
第一步:初始化项目并创建package.json文件 第二步:创建webpack.config.js文件,并写入配置. 第三步:安装webpack以及创建es6语法环境,要将html作为模板文件解析的 ...
- Zookeeper3.4.10 + ActiveMQ-5.15.0 集群搭建
网上的教程真的是凤毛麟角,就不想说啥了,一次一次把我带入坑. 好了关于Zookeeper的搭建已经说好了,本文说说基于Zookeeper的MQ集群. 第一步.将mq安装包上传到CentOS7,并解压 ...