一、正则表达式的介绍

正则表达式(Regular Expression)是一种文本模式,它使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。

二 、正则表达式的作用

1.测试字符串内的模式。
例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证。

2.替换文本。
可以使用正则表达式来识别文档中的特定文本,完全删除该文本或者用其他文本替换它。

3.基于模式匹配从字符串中提取子字符串。
可以查找文档内或输入域内特定的文本。

三、JAVA的正则表达式的使用

1.java.util.regex 包的三个类:

Pattern 类:

pattern 对象是一个正则表达式的编译表示。Pattern 类没有公共构造方法。要创建一个 Pattern 对象,你必须首先调用其公共静态编译方法,它返回一个 Pattern 对象。该方法接受一个正则表达式作为它的第一个参数。

Matcher 类:

Matcher 对象是对输入字符串进行解释和匹配操作的引擎。与Pattern 类一样,Matcher 也没有公共构造方法。你需要调用 Pattern 对象的 matcher 方法来获得一个 Matcher 对象。

PatternSyntaxException:

PatternSyntaxException 是一个非强制异常类,它表示一个正则表达式模式中的语法错误。

2.正则表达式的一些基本语法



3.Matcher类的方法

A.索引方法

B.查找方法

C.替换方法

5.PatternSyntaxException 类的方法

6.正则表达式应用的例子

下面是一个对单词 “cat” 出现在输入字符串中出现次数进行计数的例子:

import java.util.regex.Matcher;
import java.util.regex.Pattern;public class RegexMatches
{private static final String REGEX = "\\bcat\\b";private static final String INPUT ="cat cat cat cattie cat";public static void main( String args[] ){Pattern p = Pattern.compile(REGEX);Matcher m = p.matcher(INPUT); // 获取 matcher 对象int count = 0;while(m.find()) {count++;System.out.println("Match number "+count);System.out.println("start(): "+m.start());System.out.println("end(): "+m.end());}}
}

运行结果如下图所示:

下面的例子说明如何从一个给定的字符串中找到数字串:

import java.util.regex.*;
public class RegexMatches {public static void main(String[] args) {// TODO Auto-generated method stubString line = "This order was placed for QT3000! OK?";String pattern = "\\d+";Pattern r= Pattern.compile(pattern);Matcher m = r.matcher(line);if(m.find()) {System.out.println(m.group());}}}

下面是运行结果:

JAVA正则表达式的学习相关推荐

  1. Java正则表达式的学习使用

    正则表达式 @author: kayleigh package com.shujia.java.test;/*校验QQ号是否合法1.必须是5-10位的2.0不能作为QQ号的开头3.必须都是数字检查输入 ...

  2. JAVA -- 正则表达式高级学习技巧

    什么是RE? 想必各位大大在做文件查找的时侯都有使用过万用字符"*",比如说想查找在Windows目录下所有的Word文件时,你可能就会用"*.doc"这样的方 ...

  3. java正则表达式课程_通过此免费课程学习正则表达式

    java正则表达式课程 by Beau Carnes 通过博卡恩斯 通过此免费课程学习正则表达式 (Learn Regular Expressions with this free course) & ...

  4. java正则表达式 1,Java正则表达式学习(1)

    Java正则表达式学习(一) 1.什么是正则表达式: 正则表达式(regular expressions) 是一种描述字符串集的方法,它是以字符串集中各种字符串的公有特征为依据的. 正则表达式可以用于 ...

  5. java 正则表达式学习

    一. Java正则表达式 在程序开发中,难免会遇到需要匹配.查找.替换.判断字符串的情况发生,而这些情况有时又比较复杂. 因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段. 正则表达式是一种可 ...

  6. java正则表达式学习

    java正则表达式学习 一.java正则表达式 二.简单正则表达式实例 三.捕获组 四.部分正则表达式语法 一.java正则表达式 正则表达式定义了字符串的模式 正则表达式可以用来搜索.编辑或处理文本 ...

  7. java正则表达式(很全)个人学习总结

    很抱歉各位,由于我本文章当时是粘贴,导致排版很不好,但由于又懒不想修改排版,遂提供原版的文档dock  连接下载:下载:https://wwpx.lanzouw.com/ix0zI0qsknzi 密码 ...

  8. java linux runtime 正则表达式_Java学习之正则表达式

    Java正则表达式字符串模式. 正则表达式可以用来搜索.编辑和处理文本. 正则表达式不尽限于一种语言,但在每一种语言中又细微的差别. java.util.regex包中主要有这3个类: Pattern ...

  9. 《疯狂java讲义》学习(25):正则表达式

    正则表达式 正则表达式是强大的字符串处理工具,可以对字符串进行查找.提取.分割.替换等操作.String类里也提供了几个特殊的方法: boolean matches(String regex):判断该 ...

最新文章

  1. 欠拟合和过拟合学习笔记
  2. 8 关于数据仓库维度数据处理的方法探究系列——父子维
  3. 专栏 | 基于 Jupyter 的特征工程手册:特征选择(二)
  4. python输出键值列表_Python 键值分组或分区数据
  5. day2-列表、元组、字典、字符串
  6. rocketmq 初探(一)
  7. 2. OD-爆破exe验证程序
  8. 帝国理工学院暑期学校 | 大数据与创新主题,郭院士领衔,全球Top10校级证书...
  9. 64.判断当前线程是否是主线程
  10. 经验:Library Cache Lock之异常分析-云和恩墨技术通讯精选
  11. matplotlib绘图_Python之matplotlib绘图示例
  12. Java中的I/O流全汇总,所有的I/O就一张图
  13. Android使用Glide框架加载网络图片(解决无报错图片不显示问题)
  14. 以太坊源码分析:共识(1)矿工
  15. LeetCode69. x 的平方根(二分查找)
  16. Qt调用jrtplib实现单播、多播和广播
  17. debian查询端口进程_Linux 查看端口占用情况
  18. ROC曲线下面积为什么越大越好 (TPR FPR)
  19. booster 框架学习(一)
  20. 黄瓜客户端java_建造者模式

热门文章

  1. Spring MVC 实现Excel的导入导出功能(2:Excel的导入优化和Excel的导出)
  2. shodan API 获取IP开放端口
  3. vue.js循环for(列表渲染)详解
  4. Kubernetes实战[1]: 基于kubernetes构建Docker集群环境实战
  5. Backbone学习日记[1]:感性认识
  6. [转]在cocos2d-x中让一个项目适配iphone、iphone retina、ipad、ipad retina四种分辨率
  7. 微软已经宣布自2009年4月14日起放弃对windows xp的主流支持
  8. 某大龄程序员用亲身经历推翻35岁红线:大厂offer拿到手软,35岁才是黄金年龄!...
  9. 亿级流量架构之服务器扩容思路及问题分析
  10. 算法在哈啰顺风车中的实践应用