@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的更多相关文章

  1. Java SE之正则表达式四:获取

    /** * * @author Zen Johnny * @date 2018年4月29日 下午4:51:08 * */ package demo.regex; import java.util.re ...

  2. Java SE之正则表达式二:匹配

    package demo.regex; import java.util.regex.Pattern; /* 正则表达式:匹配 */ public class RegexMatchesDemo { / ...

  3. Java SE之正则表达式五:切割

    /** * * @author Zen Johnny * @date 2018年4月29日 下午3:53:55 * */ package demo.regex; /* 正则表达式:切割 */ publ ...

  4. Java SE之正则表达式六:匹配规则

    注释: 1.[]表示的字符集,不表示包含 ()表捕获和成组 Eg: 只能是QQ邮箱/GMail邮箱/Outlook邮箱/163邮箱之一 (qq|gmail|163){1}\.com 与 [(qq)|( ...

  5. Java SE之正则表达式三:替换

    /** * * @author Zen Johnny * @date 2018年4月29日 下午4:31:07 * */ package demo.regex; public class RegexR ...

  6. Java SE之正则表达式一:概述

    正则表达式 概念 定义:符合一定规则的表达式 作用:用于专门操作字符串 特点:用于一些特定的符号表示代码的操作,这样就简化了长篇的程序代码 好处:可以简化对字符串的复杂操作 弊端:符号定义越多,正则越 ...

  7. 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 ...

  8. 详解Java API之正则表达式

    正则表达式描述的是一种规则,符合这种限定规则的字符串我们认为它某种满足条件的,是我们所需的.在正则表达式中,主要有两种字符,一种描述的是普通的字符,另一种描述的是元字符.其中元字符是整个正则表达式的核 ...

  9. Java SE之快速失败(Fast-Fail)与快速安全(Fast-Safe)的区别[集合与多线程/增强For](彻底详解)

    声明 特点:基于JDK源码进行分析. 研究费时费力,如需转载或摘要,请显著处注明出处,以尊重劳动研究成果:博客园 - https://www.cnblogs.com/johnnyzen/p/10547 ...

随机推荐

  1. iptables防火墙配置

    iptables防火墙配置 一.防火墙简介 1.功能: 1)通过源端口,源IP地址,源MAC地址,包中特定标记和目标端口,IP,MAC来确定数据包是否可以通过防火墙 2)分割内网和外网[附带的路由器的 ...

  2. Layui_HDFS目录(上传,下载,删除,分页,下级目录,键盘控制返回上一页)

    注:转载请署名 一.实体 package com.ebd.application.modules.fileManage.pojo; public class FilesOrDirs { private ...

  3. String类型的特殊之处

    String是一种特殊的引用类型,那么它究竟特殊在哪里? 请看看下面这个程序,输出什么结果? public static void changeStr(String str) { str = &quo ...

  4. 面试官问我,使用Dubbo有没有遇到一些坑?我笑了

    17年的时候,因为一时冲动没把持住(当然最近也有粉丝叫我再冲动一把再更新一波),结合面试题写了一个系列的Dubbo源码解析.目前公众号大部分粉丝都是之前的粉丝,这里不过多介绍. 根据我的面试经验而言, ...

  5. Ajax中返回数据的格式

    Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过Ajax对象的response ...

  6. 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix之路15.2 Zabbix数据库表结构简单解析-Items表 Items表记录了i ...

  7. emwin之LISTWHEEL控件之LISTWHEEL_SetPos函数的使用

    @2018-09-05 [小记] LISTWHEEL控件的LISTWHEEL_SetPos函数的使用注意事项: 该函数不能在创建窗口的WM_INIT_DIALOG分支下作为修改LISTWHEEL控件属 ...

  8. scrapy 中间件

    一.中间件的分类 scrapy的中间件理论上有三种(Schduler Middleware,Spider Middleware,Downloader Middleware),在应用上一般有以下两种 1 ...

  9. 震惊!1MB == 1000KB??

    稍微对电脑了解一点的同学可能都知道,电脑中的单位换算是: 1KB = 1024B 1MB = 1024KB 1GB = 1024MB ... 以前,我也是这么认为的.... 最近我在Linux解压某个 ...

  10. 逆向---02.je & jmp & jnz 、OD调试

    上一篇:逆向---01.Nop.中文字符串搜索.保存修改后程序 OD调试基础:(01.02篇练手工具:https://pan.baidu.com/s/1kW2qlCz) nop是删除跳转,你别问我,我 ...