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()的区别相关推荐

  1. java matcher group_Java正则表达式matcher.group()用法

    java中正则匹配 group是针对()来说的,因为你匹配到的结果是一组,group(0)就是指的整个串,group(1) 指的是第一个括号里的东西,group(2)指的第二个括号里的东西. 代码: ...

  2. java正则 group_Java正则表达式,分组 group()、groupCount()

    示例: import java.util.*; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...

  3. JAVA正则表达式,matcher.find()和 matcher.matches()的区别

    1.find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数. matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为 ...

  4. java中正则表达式以及Pattern和Matcher

    正则匹配 // 反斜杠 /t 间隔 ('/u0009') /n 换行 ('/u000A') /r 回车 ('/u000D') /d 数字 等价于[0-9] /D 非数字 等价于[^0-9] /s 空白 ...

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

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

  6. java matcher遍历_java正则表达式之Pattern与Matcher类详解

    Pattern.split方法详解 /** * 测试Pattern.split方法 */ @Test public void testPatternSplit() { String str = &qu ...

  7. Java正则表达式及Pattern与Matcher使用详解

    文章目录 一.正则表达式详解 1.符号定义 (1)基本书写符号 (2)限定符 (3)匹配字符集 (4)分组构造 (5)字符转义 2.常用正则表达式举例 3.Java中RegularExpression ...

  8. java matcher遍历_Java的Pattern与Matcher类

    Java的Pattern与Matcher类 (一)java.uti java.util 是 java 实用工具类库,该类库提供了一些实用的工具类和数据结构.举个栗子,提供了日期(Data)类.日历(C ...

  9. matcher.group() 的基本使用,matcher分解系列(一)

    matcher.group() 的基本使用,matcher分解系列(一) 使用Matcher类关键的"组" matcher.group() 是matcher中关键在正则表达式中 ( ...

最新文章

  1. Linux下高并发socket最大连接数所受的各种限制
  2. sqlserver锁机制详解(sqlserver查看锁)
  3. Python加lxml实现图片解析下载功能
  4. mysql 8.0 一条insert语句的具体执行流程分析(三)
  5. php flush nginx,Nginx+phpfastcgi下flush输出问题
  6. android studio日历小程序,android studio无法加载日历界面
  7. 腾讯视频上传视频如何同步到企鹅号
  8. 百度地图获取河流_想要提高学生对地理的兴趣,就要多利用地图,培养学生的思维能力...
  9. LINUX 循环fork()
  10. (转)C++的tie()函数
  11. 计算机网络:网络安全(电子邮件安全)
  12. 关于背包问题的递归解法
  13. thinkpadt410接口介绍_联想t410配置参数详解
  14. 能耗在线监测系统在酒店节能管理中的应用
  15. 用企业微信做社群运营几大优势
  16. Python----条件语句
  17. 【小技术】数据库显示“远程过程调用失败”怎么办?
  18. 翻转和旋转计算机教学,小学信息技术《翻转/旋转》教学设计及教学反思
  19. 你是人间的四月天---林徽因
  20. python循环写文件时、io需不需要关闭_Python文件IO(普通文件读写)

热门文章

  1. WCF+EF实战系列一
  2. SAP中的“定单状态”
  3. 如何保证数据最终一致性(分布式事务)
  4. JAVA六大线程池详解
  5. linux终端自动输入,linux shell自动输入实现
  6. 在jsp页面如何禁用session?_Session 的简单介绍
  7. 003-redis-命令-key操作,字符串操作
  8. 为啥浏览器中的对象和w3c不一样??
  9. 李洪强-C语言5-函数
  10. thinkphp3.2加载第三方函数库