内容目录

正则表达式介绍

正则表达式重要类

通配符介绍

捕获组

实例

正则表达式介绍:

用于搜索或处理文本

正则表达式重要类:

正则表达式中设计两个中的类,分别是 Pattern和Matcher

Pattern是正则表达式的编译类,用于编译表达式;该类没有公共的构造方法,只能通过Pattern p = Pattern.compile(regex) 来获取

Matcher对象是增则表达式的匹配类,正则表达式编译好后用于匹配文本。

通配符介绍:

\ : 转义字符,可以匹配特殊符号或者元字符,"\\"匹配"\",“\(”匹配“(”,“.”匹配"." 等

?:匹配子表达式零次或一次

*:匹配子表达式0次或多次

+:匹配子表达式1次或多次

{n}:n为非负整数,表达式匹配n次,比如:[A-Za-z0-9_]{10}匹配字符数字下划线3位,即可以匹配a2_、_2b,不能匹配超过3位的字符串

{n,}:n为非负整数,表达式匹配至少n次,如果是{0,}等同于*,如果是{1,}等同于+,如果是{0,1}等同于?

{n,m}:n,m均为非负整数,且n<=m

\b:匹配一个边界,比如:cat\b可以匹配bbcat,但不能匹配bbcatb

\B:匹配非边界字符,比如:cat\B可以匹配bbcatb,但不能匹配bbcat

\d:匹配一个数字字符,等价于[0-9]

\D:匹配一个非数字字符,等价于[^0-9]

\s:匹配空白字符,比如空格,制表符等

\S:匹配任何非空白

\w:匹配字符数字下划线,等价于[A-Za-z0-9_]

\W:匹配非字母数字下划线,等价于[^A-Za-z0-9_]

捕获组:

从表达式左侧开始,每遇到一个左括号“(” 记作一个分组,编号从1开始,编号为0时代表整个表达式

实例:

1.匹配用户名:

//匹配用户名

public voidregexUser() {

String regex= "^(\\w){3,10}$";//相当于^[A-Za-z0-9_]{3,10}

String input = "aaaa_11235";boolean isMatch =Pattern.matches(regex, input);if(isMatch) {

System.out.println("MATCH SUCCESS");

}else{

System.out.println("MATCH FAILURE");

}

}

2.捕获组:public classGroupTest2 {

public static voidmain(String[] args) {

String regex= "^((\\d{4})-(\\d{2}))-(\\d{2})$";

String input= "2019-01-02";

Pattern p= Pattern.compile(regex);//编译表达式

Matcher m = p.matcher(input); //匹配输入值

if (m.find()) {//是否匹配

int count = m.groupCount();//捕获组数量

for (int i = 0; i <= count; i++) {

System.out.println(m.group(i));

}

}

}

}

//输出值

2019-01-02

2019-01

2019

01

02

3.捕获组命名

//捕获组命名

public static voidgroupMM(){

String regex= "^(?(?\\d{4})-(?\\d{2}))-(?\\d{2})$";

String input= "2019-01-02";

Pattern p= Pattern.compile(regex);//编译表达式

Matcher m = p.matcher(input); //匹配输入值

if (m.find()) {//是否匹配

System.out.println(m.group("ym"));

System.out.println(m.group("year"));

System.out.println(m.group("month"));

System.out.println(m.group("date"));

}

}

//输出值

2019-01

2019

01

02

java正则表达式 用户名_java之正则表达式相关推荐

  1. java 判断用户名_java如何判断用户名和密码

    java如何判断用户名和密码?Java验证用户名和密码 假设在某仓库管理系统的登录界面中需要输入用户名和密码,其中用户名只能由 6~10 位数字组成,密码只能有 6 位,任何不符合用户名或者密码要求的 ...

  2. java 判断用户名_java判断用户名和密码的方法

    java判断用户名和密码的方法 发布时间:2020-04-28 11:18:51 来源:亿速云 阅读:122 作者:小新 今天小编给大家分享的是java判断用户名和密码的方法,相信很多人都不太了解,为 ...

  3. java 正则 捕获_Java通过正则表达式捕获组中的文本

    1.简介 Java 正则表达式如何捕获组中的文本 ?--请看下文. 2.代码 /** * 版权所有 编程十万个怎么办(www.tah1986.com) */ public class Capturin ...

  4. java正则测试_Java的正则表达式

    Java正则表达式:定义了字符串的模式:可以用来搜索.编辑.或处理文本: 指定为字符串的正则表达式必须首先被编译为此类的实例.然后将得到的模式用于创建Matcher对象,依照正则表达式,该对象可以与任 ...

  5. java判断手机号_java使用正则表达式判断手机号的方法示例

    本文实例讲述了java使用正则表达式判断手机号的方法.分享给大家供大家参考,具体如下: 要更加准确的匹配手机号码只匹配11位数字是不够的,比如说就没有以144开始的号码段, 故先要整清楚现在已经开放了 ...

  6. java规则表达式_Java基础--正则表达式的规则

    注意:正则表达式只关注格式是否正确,不关注内容是否有效. 一.字符集合, []表示一个字符. 1.[abc] :指a,b,c中的任意一个字符. 2.[^abc]:指除了a,b,c外的任意字符. 3.[ ...

  7. java 文本查找_Java基于正则表达式实现查找匹配的文本功能【经典实例】

    本文实例讲述了Java基于正则表达式实现查找匹配的文本功能.分享给大家供大家参考,具体如下: REMatch.java: package reMatch; import java.util.regex ...

  8. java正则 链接_Java使用正则表达式匹配获取链接地址的方法示例

    本文实例讲述了Java使用正则表达式匹配获取链接地址的方法.分享给大家供大家参考,具体如下: 获取页面中字符串的url地址我们都会使用正则表达式来匹配获取了,下面我来给大家总结几个匹配获取链接地址示例 ...

  9. java正则表达式类_java中正则表达式之Pattern类与Matcher类

    java中正则表达式之Pattern类与Matcher类 ======================================================================= ...

  10. java邮箱匹配_Java邮箱正则表达式

    "^\\s*\\w+(?:\\.{0,1}[\\w-]+)*@[a-zA-Z0-9]+(?:[-.][a-zA-Z0-9]+)*\\.[a-zA-Z]+\\s*$" 这个是一个企业 ...

最新文章

  1. Fastlane- app自动编译、打包多个版本、上传到app store
  2. Cell子刊:中科院遗传发育所周俭民组发现特异靶向病原菌致病力的植物天然产物并阐明作用机制
  3. 「表面光鲜,实则搬砖」,机器学习社区自嘲不为人知的AI工程师真相
  4. Tungsten Fabric SDN — 网络架构
  5. tensorflow常见问题
  6. word怎么设置图片编号(图片下标,图片标签,图片序号,图片注释,题注)(交叉引用)
  7. JAVASCRIPT 提示信息 主要是使用了获取控件的位置进行定位
  8. 北京市(朝阳区)(西城区)(海定区)正则表达式(代码保存)
  9. 建库建表设置统一编码
  10. webpack入门+react环境配置 1
  11. 深入分析Kubelet Bootstrap Checkpoint
  12. Hdu2660 Accepted Necklace【简单dfs】
  13. mysql查询每个用户第一条数据_MySQL数据库订单表按用户邮箱字段分组查询每个用户的第一条记录...
  14. 使用弹性布局来解决令人烦恼的垂直居中问题~~
  15. 【优化算法】麻雀搜索优化算法(SSA)【含Matlab源码 1288期】
  16. LINUX-VIM编辑器常用命令大全(超全)
  17. 怎么修改图片大小尺寸?
  18. 机械硬盘和固态硬盘 检测 案例 ST4000VX015
  19. 经历了6面,终于入职蚂蚁金服
  20. 解决gitee/github上传图片数量受限

热门文章

  1. 项目管理助力中国企业发展
  2. win10缩放导致html,win10屏幕字体缩放模糊怎么办_win10缩放后字体模糊如何解决
  3. 让你的FireFox支持迅雷精简版
  4. 阿里云CentOS服务器搭建静态网站(零基础)
  5. 万能声卡驱动win10_主流最新驱动程序下载地址分享 和垃圾驱动下载软件说再见...
  6. 4参数逻辑曲线公式及其含义
  7. OrCAD42道问题汇总
  8. 为什么需要交叉编译器
  9. 台式计算机设备验收单,电脑设备验收单.doc
  10. 关于商业计划书(Business Project,以下简称BP)写作那些事儿(一)