Java学习笔记-正则表达式的模式匹配
正则表达式(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学习笔记-正则表达式的模式匹配相关推荐
- Java学习笔记——正则表达式(Pattern类、Matcher类和PatternSyntaxException)
目录 一.Pattern类 (一)Pattern 介绍 (二)Pattern 方法 二.Matcher类 (一)Matcher 类介绍 (二)Matcher 类方法 三.PatternSyntaxEx ...
- Java学习笔记--StringTokenizer的使用
2019独角兽企业重金招聘Python工程师标准>>> Java Tips: 使用Pattern.split替代String.split String.split方法很常用,用于切割 ...
- 《Java学习笔记(第8版)》学习指导
<Java学习笔记(第8版)>学习指导 目录 图书简况 学习指导 第一章 Java平台概论 第二章 从JDK到IDE 第三章 基础语法 第四章 认识对象 第五章 对象封装 第六章 继承与多 ...
- Java学习-17 正则表达式简述
Java学习-17 正则表达式 1.什么是正则表达式? 正则表达式是构成搜索模式(search pattern)的字符序列. 当您搜索文本中的数据时,您可使用搜索模式来描述您搜索的内容. 正则表达式可 ...
- python学习笔记 正则表达式 详解2
python学习笔记 正则表达式 详解 行定位符 行定位符就是用来描述子串的边界."^"表示行的开始:"$"表示行的结尾 ^tm:匹配以子串tm的开始位置是行头 ...
- java学习笔记11--Annotation
java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- 准备写java学习笔记
准备写java学习笔记 java int 转载于:https://blog.51cto.com/cryingcloud/1975267
- java学习笔记12--异常处理
java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...
最新文章
- 基于XMPP的IOS聊天客户端程序(XMPP服务器架构)
- C++ ORM ODB 入门介绍(一)
- phpcms忘记管理员密码和访问错误等常见问题
- List结果集使用Java代码遍历以获取String,Object的值
- Angular2+ 结构型指令
- 对源码包打补丁方法Patch
- STM32使用IIC总线通讯协议在OLED屏幕上显示字符串、汉字、图像(硬件IIC)
- .NET Core 2.0 正式发布信息汇总
- 广州计算机专业王健,王健-计算机与信息工程学院
- delphi Post数据到网页
- Android官方开发文档Training系列课程中文版:分享简单数据之发送简单数据给其它APP
- (需求实战_01)_shell脚本 ftp协议下载文件
- vue 列表更改排序,不刷新问题
- Kanzi编程基础3 - 图片读取与显示
- 安卓获取手机路径方法
- Html5 Egret游戏开发 成语大挑战(五)界面切换和数据处理
- Titanium快速开发app
- Snagit 12 – 功能强的老牌截图软件
- linux alias命令
- Leetcode之二叉树展开为链表(深搜)
热门文章
- php8更新,PHP 8 中新特性以及重大调整
- undefined reference to `cv::VideoCapture::VideoCapture()'
- java中Scanner类中 next()与nextLine()的区别
- html图片自动循环轮播图,js实现图片无缝循环轮播
- ret2libc过地址随机化
- java jni linux_java jni实现linux环境下绑定硬件的License
- HDU ACM Steps攻略 ACM Steps的全部内容
- 41. 缺失的第一个正数 golang
- 198. 打家劫舍 golang 动态规划 数组越界
- Linux编程手册读书笔记第三章(20140407)