博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java14-4 Pattern和Matcher类的使用
阅读量:5219 次
发布时间:2019-06-14

本文共 2091 字,大约阅读时间需要 6 分钟。

   获取功能
    Pattern和Matcher类的使用
      模式和匹配器的基本使用顺序

1 import java.util.regex.Matcher; 2 import java.util.regex.Pattern; 3  4 public class RegexDemo { 5 public static void main(String[] args) { 6 // 模式和匹配器的典型调用顺序 7 // 把正则表达式编译成模式对象 8 Pattern p = Pattern.compile("a*b"); 9 // 通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串,字符串跟上面的正则表达式一致10 Matcher m = p.matcher("aaaaab");11 // 调用匹配器对象的功能12 boolean b = m.matches();13 System.out.println(b);14 15 //这个是判断功能,但是如果做判断,这样做就有点麻烦了,我们直接用字符串的方法做16 String s = "aaaaab";17 String regex = "a*b";18 boolean bb = s.matches(regex);19 System.out.println(bb);20 21 //判断功能的再次简化22 String str = "abbbbbb";23 boolean cc = str.matches("ab*");24 System.out.println(cc);25 }26 }

 

需求:键盘输入内容,但只显示3位的字符

  分析:
    A:创建键盘输入
    B:定义规则,把规则编译成模式对象,再通过模式对象得到匹配对象
        a:把正则表达式编译成模式对象 Pattern p = Pattern.compile("a*b");
        b:通过模式对象得到匹配器对象,这个时候需要的是被匹配的字符串,字符串跟上面的正则表达式一致 Matcher m = p.matcher("aaaaab");
    C:调用匹配器的find方法查找有没有满足条件的子串,public boolean find()
    D:返回这个对象, public boolean group()返回匹配的对象
    E:输出对象
  方法:
    a:返回值:void
    b:参数列表:String

1 import java.util.Scanner; 2 import java.util.regex.Matcher; 3 import java.util.regex.Pattern; 4 public class PattenTest { 5  6 public static void main(String[] args) { 7 //创建键盘录入 8 Scanner sc = new Scanner(System.in); 9 System.out.println("输入内容:");10 String str = sc.nextLine();11 //调用方法12 group(str);13 14 }15 16 //定义方法17 public static void group(String str){18 //定义规则    19 //把正则表达式编译成模式对象 Pattern p = Pattern.compile("a*b");20 Pattern p = Pattern.compile("\\b\\w{3}\\b");21 22 //通过模式对象得到匹配对象 Matcher m = p.matcher("aaaaab");23 Matcher m = p.matcher(str);24 25 /* 这个只能判断第一个元素,注释掉26 //调用匹配器的find方法查找有没有满足条件的子串,public boolean find()27 boolean b = m.find();28 29 //返回查找到的对象 public boolean group()返回匹配的对象30 String result = m.group();31 System.out.println(result);32 */33 34 while(m.find()){35 System.out.println(m.group());36 }37 38 39 // 注意:一定要先find(),然后才能group();否则会出现下面这个错误40 // IllegalStateException: No match found41 // String ss = m.group();42 // System.out.println(ss);43 }44 }

 

转载于:https://www.cnblogs.com/LZL-student/p/5886461.html

你可能感兴趣的文章
pip 或 pip3 升级操作
查看>>
[经验]创建支持多地区的分站功能
查看>>
鸡啄米vc++2010系列45(Ribbon界面开发:为Ribbon Bar添加控件)
查看>>
c如何弹出保存路径/保存文件对话框
查看>>
HTML标签二
查看>>
caffe的在ubuntu下面的安装
查看>>
Python 3语法小记(九) 异常 Exception
查看>>
使用shared memory 计算矩阵乘法 (其实并没有加速多少)
查看>>
MySQL常用的函数
查看>>
Django 相关
查看>>
ArcGIS自定义工具箱-字段合并
查看>>
git init
查看>>
Vue(day8)
查看>>
sshpass ssh登录时自动输入密码
查看>>
APP抓取
查看>>
训练记录
查看>>
【转】ubuntu16.04设置python3为默认及一些库的安装
查看>>
算数几何均值不等式,柯西不等式,琴生Jensen不等式
查看>>
mysql group by的用法 注意
查看>>
IList和DataSet性能差别 转自 http://blog.csdn.net/ilovemsdn/article/details/2954335
查看>>