首页 > 编程语言 >Java中使用正则表达式

Java中使用正则表达式

时间:2022-11-27 22:01:57浏览次数:35  
标签:Java String 正则表达式 matcher 表达式 Pattern 使用 字符串 datas

1、使用 java.util.regex.Pattern 类的  compole(表达式) 方法把正则表达式变成一个对象。

      //表达式对象:1个数字和1个字母连续
        Pattern pattern = Pattern.compile("\\d[a-z]");

2、通过Pattern 对象获取java.util.regex.Matcher 类对象,使用Matcher对象进行相应匹配操作。

      //匹配器,指定要解析的字符串datas
        Matcher matcher = pattern.matcher(datas);

  常用方法:

    matches():判断整个字符串是否符合表达式对象。

    matcher.find():判断是字符串中是否存在下一个符合要求的字符串。

    group():返回在上一次匹配操作期间由给定组捕获的输入子序列。无参时默认为0,即第1组捕获组,若参数为1,则为第2组捕获组。

    replaceAll(String str);使用指定字符串替换符合表达式的字符。

3、String类中的 split (String str)方法,支持参数为正则表达式。

测试:

public class Client {
    public static void main(String[] args) {
        //要处理的字符串
        String datas = "111aaa222bbb333ccc";
        System.out.println("待处理字符串:"+datas);
        //表达式对象:1个数字和1个字母连续
        Pattern pattern = Pattern.compile("\\d[a-z]");
        //匹配器,指定要解析的字符串datas
        Matcher matcher = pattern.matcher(datas);
        //判断整个字符串是否符合表达式对象
        System.out.println("整个字符串是否符合:"+matcher.matches());
        //在字符串中寻找下一个符合要求的对象,有则返回true
        while (matcher.find()){
            //取出匹配到的字符串
            System.out.println("符合的:"+matcher.group());//group(1)表示正则中的()()第二个捕获组的内容,以此类推。
        }
        //符合表达式的使用指定字符串替换替换
        String end = matcher.replaceAll("A");
        System.out.println("替换后:"+end);

        //分割字符串,使用正则表达式
        String me = "love0dlove0alove";
        String[] mes = me.split("0[a-z]");
        for (String s:mes){
            System.out.print(s);
        }
    }
}

测试结果:

 

标签:Java,String,正则表达式,matcher,表达式,Pattern,使用,字符串,datas
From: https://www.cnblogs.com/lurenjia-bky/p/16930792.html

相关文章

  • springboot的基本使用
    SpringBoot简介SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。使用了Spring框架后已经简化了我们的开发,而SpringBoot......
  • Java入门代码练习
    一、第一个Java程序1、helloworldpublicclassHello{publicstaticvoidmain(String[]args){System.out.println("Helloworld!");}}2、变量i......
  • 在C#中使用Halcon开发视觉检测程序
    本文的初衷是希望帮助那些有其它平台视觉算法开发经验的人能快速转入Halcon平台下,通过文中的示例开发者能快速了解一个Halcon项目开发的基本步骤,让开发者能把精力完全集中......
  • 拓端tecdat|用于NLP的Python代写辅导:使用Keras的多标签文本LSTM神经网络分类
    用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类 介绍 在本文中,我们将看到如何开发具有多个输出的文本分类模型。我们将开发一个文本分类......
  • 拓端tecdat|适用于NLP自然语言处理的Python代写:使用Facebook FastText库
    适用于NLP自然语言处理的Python:使用FacebookFastText库 在本文中,我们将研究​​FastText​​,它是用于单词嵌入和文本分类的另一个极其有用的模块......
  • Java Excel导出动态自定义单元格样式
    根据表格内容定义单元格样式效果图:文章描述两种,一种创建生成时定义样式,另一种在excel在写入文件前修改样式关键代码一/***数据动态设置样式*......
  • 用Java打印一个9层空心菱形
    publicclassRhombus{publicstaticvoidmain(Stringargs[]){      for(inti=1;i<=5;i++){  //i表示层数      //空格个数    ......
  • Angular样式隔离(style isolation)及选择器(:host, :host-context, ::ng-deep)的使用
    1.Angular样式隔离Angular样式隔离的好处最最要的一条就是CSS的可维护性。当没有样式隔离时,我们创建一个组件并添加样式后,可能会影响到其他的组件样式,而且很有可能查找不......
  • yarn安装与使用
    yarn的简介:Yarn是facebook发布的一款取代npm的包管理工具。yarn的特点:速度超快。Yarn缓存了每个下载过的包,所以再次使用时无需重复下载。同时利用并行下载以最大化资源......
  • 003爬虫之数据解析概述-正则表达式
    当我们爬到了网页的源代码之后,我们就需要对指定的数据进行获取,比如上一篇中只获取电影名称和上映时间,这里我们需要对获取的数据进行解析,以下提供四种解析方式:1.re解析2.b......