Matcher类中方法简介说明
转自:
Matcher类中方法简介说明
Matcher类中索引方法
索引方法的功能:
提供了索引信息,
返回匹配字符串的位置信息
索引方法如下所示:
编号 | 方法及备注说明 |
1 | public int start() 返回以前匹配的初始索引 |
2 | public int start(int group) 返回在以前的匹配操作期间,由给定组所捕获的子序列的初始索引 |
3 | public int end() 返回最后匹配字符之后的偏移量 |
4 | public int end(int group) 返回在以前的匹配操作期间,由给定组所捕获子序列的最后字符之后的偏移量 |
Matcher类中查找方法
查找方法的功能:
用于检测输入字符串并返回一个布尔值
其布尔值表示此匹配模式是否匹配成功
编号 | 方法及备注说明 |
1 | public boolean lookingAt() 尝试将从区域开头开始的输入序列与该模式匹配 |
2 | public boolean find() 尝试查找与该模式匹配的输入序列的下一个子序列 |
3 | public boolean find(int start) 重置此匹配器,然后尝试查找匹配该模式、从指定索引开始的输入序列的下一个子序列 |
4 | public boolean matches() 尝试将整个区域与模式匹配 |
Matcher类中替换方法
替换方法的功能:
替换方法:用于替换输入字符串里文本的方法
编号 | 方法及备注说明 |
1 | public Matcher appendReplacement(StringBuffer sb, String replacement) 实现非终端添加和替换步骤 |
2 | public StringBuffer appendTail(StringBuffer sb) 实现终端添加和替换步骤 |
3 | public String replaceAll(String replacement) 替换模式与给定替换字符串相匹配的输入序列的每个子序列 |
4 | public String replaceFirst(String replacement) 替换模式与给定替换字符串匹配的输入序列的第一个子序列 |
5 | public static String quoteReplacement(String s) 返回指定字符串的字面替换字符串。这个方法返回一个字符串,就像传递给Matcher类的appendReplacement 方法一个字面字符串一样工作 |
Matcher类示例分享
import java.util.regex.Matcher; import java.util.regex.Pattern;public class testMain {/** java265.com Matcher对象示例演示 统计出 字符串中 单独出现 java 字符串的个数*/private static final String REGEX = "\\bjava\\b";private static final String INPUT = "java 教程最好的网站 java java265.com";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("计数器:" + count);System.out.println("开始位置:" + m.start());System.out.println("结束位置:" + m.end());}} }---以上代码,将输出----- 匹配成功数:1 开始位置:0 结束位置:4 匹配成功数:2 开始位置:13 结束位置:17
matches及lookingAt方法功能说明
matches及lookingAt方法都于来尝试匹配一个输入序列模式
matches及lookingAt方法的不同之处:matches需整个序列都匹配lookingAt方法无需整句都匹配,但需从第一个字符开始匹配
例:
package com.java265; import java.util.regex.Matcher; import java.util.regex.Pattern;public class testMain {/** java265.com 正则表达式数据匹配*/private static final String REGEX = "java";private static final String INPUT = "java265.com is Java WebSite.";private static final String INPUT2 = "000java000";private static Pattern pattern;private static Matcher matcher;private static Matcher matcher2;public static void main(String[] args) {pattern = Pattern.compile(REGEX);matcher = pattern.matcher(INPUT);matcher2 = pattern.matcher(INPUT2);System.out.println("Current REGEX is: " + REGEX);System.out.println("Current INPUT is: " + INPUT);System.out.println("Current INPUT2 is: " + INPUT2);System.out.println("lookingAt(): " + matcher.lookingAt());System.out.println("matches(): " + matcher.matches());System.out.println("lookingAt(): " + matcher2.lookingAt());} }-------运行以上代码,将输出以下信息------- Current REGEX is: java Current INPUT is: java265.com is Java WebSite. Current INPUT2 is: 000java000 lookingAt(): true matches(): false lookingAt(): false
replaceFirst及replaceAll方法功能说明
replaceFirst及replaceAll方法功能用于替换匹配正则表达式的文本
replaceFirst及replaceAll方法的不同之处:replaceFirst 替换首次匹配,replaceAll 替换所有匹配
replaceAll方法 示例分享
package com.java265; import java.util.regex.Matcher; import java.util.regex.Pattern;public class testMain {/** java265.com 正则表达式数据匹配*/private static String REGEX = "java";private static String INPUT = "java265.com is java webSite.";private static String REPLACE = "info";public static void main(String[] args) {Pattern p = Pattern.compile(REGEX);// get a matcher objectMatcher m = p.matcher(INPUT);INPUT = m.replaceAll(REPLACE);System.out.println(INPUT);} } ------以上代码,将输出以下信息----- info265.com is info webSite.
appendReplacement及appendTail方法功能说明
appendReplacement及appendTail方法的功能:也是用于文本替换操作
例:
package com.java265;import java.util.regex.Matcher; import java.util.regex.Pattern;public class testMain {/** java265.com 正则表达式数据匹配*/private static String REGEX = "java";private static String INPUT = "java265.com is java webSite.";private static String REPLACE = "-";public static void main(String[] args) {Pattern p = Pattern.compile(REGEX);// 获取matcher对象Matcher m = p.matcher(INPUT);StringBuffer sb = new StringBuffer();while (m.find()) {m.appendReplacement(sb, REPLACE);}m.appendTail(sb);System.out.println(sb.toString());} }-----以上代码,将输出以下信息---- -265.com is - webSite.
Matcher类中方法简介说明相关推荐
- java matcher.group_详解正则表达式Matcher类中group方法
前言 同事把一个excel表给我,里面的数据大概有几千的样子吧.自己需要把里面的数据一个一个拿出来做一个http请求,对得到的结果进行过滤,然后再写到上面去.这是就涉及到用脚本来进行操作了,于是自己搞 ...
- Matcher 类中的group(),group(int i),groupCount()
2019独角兽企业重金招聘Python工程师标准>>> Matcher 类中的group(),group(int i),groupCount() 2013-11-17 23:57 4 ...
- (36)System Verilog类中方法示例
(36)System Verilog类中方法示例 1.1 目录 1)目录 2)FPGA简介 3)System Verilog简介 4)System Verilog类中方法示例 5)结语 1.2 FPG ...
- java matcher方法_9 Matcher 类的方法 - Java 正则表达式教程
在这一节中来看看 Matcher 类中其他一些有用的方法.方便起见,下面列出的方法是按照功能来分组的. 索引方法 索引方法(index methods)提供了一些正好在输入字符串中发现匹配的索引值: ...
- java处理字符串Patter与Matcher类与其方法详解
1.使用Patter与Matcher类 Pattern 类表示编译的正则表达式. 使用 Pattern 类的静态方法 compile() 获取 Pattern 类引用. 以下代码段用于创建 Patte ...
- 传智播客python笔记_python传智播客笔记--第十天:隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写...
封装,继承,多态 隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写 -**************************************************** ...
- python @classmethod 和 @staticmethod区别,以及类中方法参数cls和self的区别
一.@classmethod 和 @staticmethod 1.staticmethod 作用:让类中的方法变成一个普通函数(普通函数没有绑定在任何一个特定的类或者实例上.所以与不需要对象实例化就可 ...
- 继承(四):new方法都与基类中方法无关
using System; using System.Collections.Generic; using System.Linq; using System.Text;namespace Inher ...
- Struts2中XXX.Action类中方法的访问(三种方式)
第一种:使用action标签的method属性(常规方法) Action类: package cn.tedu.web;import org.springframework.context.annota ...
最新文章
- C#.NET操作数据库通用类
- react学习(四)之设置 css样式 篇
- Shiro笔记(三)授权
- Java 设计模式之迭代器模式
- python 的类装饰器
- cas无法使用_【漫画】CAS原理分析!无锁原子类也能解决并发问题!
- textarea 内容前端展示换行php处理
- 深入理解PHP之数组(遍历顺序)
- Node的textContent属性
- 测试评审要点说明(测试计划、用例、报告)
- 字节流和字符流的读写
- 2021SC@SDUSC 量子加密库libqs
- 三维空间里点到直线的距离
- Windows键盘上的截屏按键PrtSc
- orange软件使用
- C++ 招聘干部录取系统
- MATLAB图像处理学习日记之图像的自定义裁剪imcrop操作
- laravel实现汉子转拼音
- ckplayer 一个不错的网页视频播放器
- mac蓝牙连接有问题要怎么处理呢?
热门文章
- 男女主重生学计算机专业,男女主双重生现言文,女主好好学习心不乱,男主想恋爱阴魂不散...
- c语言教材答案晁晓菲,科学网—金牌教师的“修炼密码”
- 基于QT的海康威视的相机二次开发
- android proguard 不起作用,Android-ProGuard 混淆
- post请求跳转页面
- 如何将excel表格导入word_分享一种批量将Excel表格中联系方式导入至手机通讯录中的方法...
- [转载]urllib.parse.urlencode转换get请求参数(resquest中带中文的情况)
- Javascript面向对象:Object.defineProperty()与Object.defineProperties()
- 简单的出库入库软件可以帮助提高企业的管理效率
- js技能提升——关闭当前页面