java matcher group_JAVA正则表达式matcher.find()和 matcher.matches()的区别
1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数。
matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数字类型或其他类型,一般要用matches()。
2.Pattern pattern= Pattern.compile(".*?,(.*)");
Matcher matcher = pattern.matcher(result);
if (matcher.find()) {
return matcher.group(1);
}
3.详解:
matches
public static boolean matches(String regex, CharSequence input)
编译给定正则表达式并尝试将给定输入与其匹配。
调用此便捷方法的形式
Pattern.matches(regex, input);
Pattern.compile(regex).matcher(input).matches() ;
如果要多次使用一种模式,编译一次后重用此模式比每次都调用此方法效率更高。
参数:
regex - 要编译的表达式
input - 要匹配的字符序列
抛出:
PatternSyntaxException - 如果表达式的语法无效
find
public boolean find()尝试查找与该模式匹配的输入序列的下一个子序列。
此方法从匹配器区域的开头开始,如果该方法的前一次调用成功了并且从那时开始匹配器没有被重置,则从以前匹配操作没有匹配的第一个字符开始。
如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。
matcher.start() 返回匹配到的子字符串在字符串中的索引位置.
matcher.end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
matcher.group()返回匹配到的子字符串
返回:
当且仅当输入序列的子序列匹配此匹配器的模式时才返回 true。
4.部分JAVA正则表达式实例
①字符匹配
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(str); // 操作的字符串
boolean b = m.matches(); //返回是否匹配的结果
System.out.println(b);
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(str); // 操作的字符串
boolean b = m. lookingAt (); //返回是否匹配的结果
System.out.println(b);
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(str); // 操作的字符串
boolean b = m..find (); //返回是否匹配的结果
System.out.println(b);
②分割字符串
Pattern pattern = Pattern.compile(expression); //正则表达式
String[] strs = pattern.split(str); //操作字符串 得到返回的字符串数组
③替换字符串
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
String s = m.replaceAll(str); //替换后的字符串
④查找替换指定字符串
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
StringBuffer sb = new StringBuffer();
int i = 0;
while (m.find()) {
m.appendReplacement(sb, str);
i++; //字符串出现次数
}
m.appendTail(sb);//从截取点将后面的字符串接上
String s = sb.toString();
⑤查找输出字符串
Pattern p = Pattern.compile(expression); // 正则表达式
Matcher m = p.matcher(text); // 操作的字符串
while (m.find()) {
matcher.start() ;
matcher.end();
matcher.group(1);
}
java matcher group_JAVA正则表达式matcher.find()和 matcher.matches()的区别相关推荐
- java matcher group_Java正则表达式matcher.group()用法
java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 代码: ...
- java正则 group_Java正则表达式,分组 group()、groupCount()
示例: import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...
- JAVA正则表达式,matcher.find()和 matcher.matches()的区别
1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数. matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为 ...
- java中正则表达式以及Pattern和Matcher
正则匹配 // 反斜杠 /t 间隔 ('/u0009') /n 换行 ('/u000A') /r 回车 ('/u000D') /d 数字 等价于[0-9] /D 非数字 等价于[^0-9] /s 空白 ...
- Java学习笔记——正则表达式(Pattern类、Matcher类和PatternSyntaxException)
目录 一.Pattern类 (一)Pattern 介绍 (二)Pattern 方法 二.Matcher类 (一)Matcher 类介绍 (二)Matcher 类方法 三.PatternSyntaxEx ...
- java matcher遍历_java正则表达式之Pattern与Matcher类详解
Pattern.split方法详解 /** * 测试Pattern.split方法 */ @Test public void testPatternSplit() { String str = &qu ...
- Java正则表达式及Pattern与Matcher使用详解
文章目录 一.正则表达式详解 1.符号定义 (1)基本书写符号 (2)限定符 (3)匹配字符集 (4)分组构造 (5)字符转义 2.常用正则表达式举例 3.Java中RegularExpression ...
- java matcher遍历_Java的Pattern与Matcher类
Java的Pattern与Matcher类 (一)java.uti java.util 是 java 实用工具类库,该类库提供了一些实用的工具类和数据结构.举个栗子,提供了日期(Data)类.日历(C ...
- matcher.group() 的基本使用,matcher分解系列(一)
matcher.group() 的基本使用,matcher分解系列(一) 使用Matcher类关键的"组" matcher.group() 是matcher中关键在正则表达式中 ( ...
最新文章
- Linux下高并发socket最大连接数所受的各种限制
- sqlserver锁机制详解(sqlserver查看锁)
- Python加lxml实现图片解析下载功能
- mysql 8.0 一条insert语句的具体执行流程分析(三)
- php flush nginx,Nginx+phpfastcgi下flush输出问题
- android studio日历小程序,android studio无法加载日历界面
- 腾讯视频上传视频如何同步到企鹅号
- 百度地图获取河流_想要提高学生对地理的兴趣,就要多利用地图,培养学生的思维能力...
- LINUX 循环fork()
- (转)C++的tie()函数
- 计算机网络:网络安全(电子邮件安全)
- 关于背包问题的递归解法
- thinkpadt410接口介绍_联想t410配置参数详解
- 能耗在线监测系统在酒店节能管理中的应用
- 用企业微信做社群运营几大优势
- Python----条件语句
- 【小技术】数据库显示“远程过程调用失败”怎么办?
- 翻转和旋转计算机教学,小学信息技术《翻转/旋转》教学设计及教学反思
- 你是人间的四月天---林徽因
- python循环写文件时、io需不需要关闭_Python文件IO(普通文件读写)