正则表达式(Regex)为被匹配的文本模式提供了简明扼要的规范。

关于正则表达式的语法,可以参考相关书籍和这个网址:http://edu.yesky.com/edupxpt/18/2143018.shtml

这里主要介绍Java的正则表达式包的使用:(这里遵循Java的命名规范,开头字母大写表示类名,小写表示变量)

1、基本匹配方法:inputString.matches(stringRegexPattern)

2、使用RE类的简单例子:

RE r=new RE(pattern);  //patttern是正则表达式字符串

boolean found=r.match(input);  //input是输入的字符串

3、Java 的regex包由两个类组成:Pattern和Matcher

详细的类和使用方法可以参考Java API

在这里我总结一下今天做项目练习用到的方法,这些应该都是比较常用的.

Pattern:

Pattern.compile(String regex)  可以产生一个以给定正则表达式编译出的匹配模式(pattern)

pattern.matcher(String input)  可以产生一个将给定输入和pattern匹配的匹配器

Pattern.matches(regex,input)  将给定输入与给定正则表达式匹配,匹配则返回true

注意:这个方法有另一种的写法

Pattern p=Pattern.compile(regex);

Matcher m=p.matcher(input);

m.matches();

当正则表达式要多次使用时,实现编译一次效率比较高

另split()也是一种比较常用的方法,由于我暂时没有用到,这里就暂时不涉及了

Matcher:

一、查找匹配的文本(m是事先产生的matcher)

m.start()   m.end()返回字符串中开始和结束字符的位置信息

groupCount()返回用括号括起来的获取的分组数,如果没有分组则返回0

group(int i)如果i小于等于分组数,则返回对应编号的分组字符串。group()或group(0)返回匹配的整个字符串

注:正则表达式处理时,圆括号中的内容最先处理。正则表达式可能出现比较复杂的多层嵌套,调用这个方法可以获得指定嵌套层所匹配的内容,

如果没有使用圆括号,则视为零层。

二、替换匹配的正文

三、打印匹配的所有字符串

四、打印含有模式的行

五、在正则表达式中控制大小写

六、匹配时的换行问题

上面的暂时没有用到,等用到了解之后再补充

转载于:https://www.cnblogs.com/ITEagle/archive/2010/02/06/1664856.html

Java学习笔记-正则表达式的模式匹配相关推荐

  1. Java学习笔记——正则表达式(Pattern类、Matcher类和PatternSyntaxException)

    目录 一.Pattern类 (一)Pattern 介绍 (二)Pattern 方法 二.Matcher类 (一)Matcher 类介绍 (二)Matcher 类方法 三.PatternSyntaxEx ...

  2. Java学习笔记--StringTokenizer的使用

    2019独角兽企业重金招聘Python工程师标准>>> Java Tips: 使用Pattern.split替代String.split String.split方法很常用,用于切割 ...

  3. 《Java学习笔记(第8版)》学习指导

    <Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...

  4. Java学习-17 正则表达式简述

    Java学习-17 正则表达式 1.什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容. 正则表达式可 ...

  5. python学习笔记 正则表达式 详解2

    python学习笔记 正则表达式 详解 行定位符 行定位符就是用来描述子串的边界."^"表示行的开始:"$"表示行的结尾 ^tm:匹配以子串tm的开始位置是行头 ...

  6. java学习笔记11--Annotation

    java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...

  7. java学习笔记13--反射机制与动态代理

    本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...

  8. 准备写java学习笔记

    准备写java学习笔记 java int 转载于:https://blog.51cto.com/cryingcloud/1975267

  9. java学习笔记12--异常处理

    java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...

最新文章

  1. 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
  2. C++ ORM ODB 入门介绍(一)
  3. phpcms忘记管理员密码和访问错误等常见问题
  4. List结果集使用Java代码遍历以获取String,Object的值
  5. Angular2+ 结构型指令
  6. 对源码包打补丁方法Patch
  7. STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、图像(硬件IIC)
  8. .NET Core 2.0 正式发布信息汇总
  9. 广州计算机专业王健,王健-计算机与信息工程学院
  10. delphi Post数据到网页
  11. Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
  12. (需求实战_01)_shell脚本 ftp协议下载文件
  13. vue 列表更改排序,不刷新问题
  14. Kanzi编程基础3 - 图片读取与显示
  15. 安卓获取手机路径方法
  16. Html5 Egret游戏开发 成语大挑战(五)界面切换和数据处理
  17. Titanium快速开发app
  18. Snagit 12 – 功能强的老牌截图软件
  19. linux alias命令
  20. Leetcode之二叉树展开为链表(深搜)

热门文章

  1. php8更新,PHP 8 中新特性以及重大调整
  2. undefined reference to `cv::VideoCapture::VideoCapture()'
  3. java中Scanner类中 next()与nextLine()的区别
  4. html图片自动循环轮播图,js实现图片无缝循环轮播
  5. ret2libc过地址随机化
  6. java jni linux_java jni实现linux环境下绑定硬件的License
  7. HDU ACM Steps攻略 ACM Steps的全部内容
  8. 41. 缺失的第一个正数 golang
  9. 198. 打家劫舍 golang 动态规划 数组越界
  10. Linux编程手册读书笔记第三章(20140407)