pattern 正则_JAVA 正则表达式

pattern 正则_JAVA 正则表达式1.组(Group)组是正则表达式的一个子集,每个组都有一个编号,通过从左到右计算左括号来进行编号。正则表达式“((A)(B©))”有4个组:((A)(B©))(A)(B©)©组0表示整个正则表达式,除组0外每一个组都被一对括号括住,如果一个正则表达式里面没有括号,则它只有组0即整个表达式。下面是组号的示例程序:Patternp=Pattern.compile(“([0-9]+)([^0-9]+)”);Matcherm1=p.matcher(“namejack,age18

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

1.组(Group)

组是正则表达式的一个子集,每个组都有一个编号,通过从左到右计算左括号来进行编号。正则表达式“((A)(B©)) ”有4个组:
((A)(B©))
(A)
(B©)
©
组0表示整个正则表达式,除组0外每一个组都被一对括号括住,如果一个正则表达式里面没有括号,则它只有组0即整个表达式。下面是组号的示例程序:

Pattern p = Pattern.compile("([0-9]+)([^0-9]+)");
Matcher m1 = p.matcher("name jack, age 18, weight 70, height 178cm");
if (m1.find())
{ 
   
    System.out.printf("group0: %s\n", m1.group());
    System.out.printf("group1: %s\n", m1.group(1));
    System.out.printf("group2: %s\n", m1.group(2));
}
/*程序输出
group0: 18, weight 
group1: 18
group2: , weight 
*/

Jetbrains全家桶1年46,售后保障稳定

2.替换

Matcher对象支持替换操作的方法有:

replaceFirst
replaceAll
appendReplacement和appendTail

replaceFirst替换匹配到的第一个字符串,replaceAll替换所有匹配到的字符串,示例如下:

//替换第一个数字为0

Pattern p = Pattern.compile("[0-9]+");
Matcher m1 = p.matcher("name jack, age 18, weight 70, height 178cm");
String result = m1.replaceFirst("0");
System.out.println(result);
/*程序输出
name jack, age 0, weight 70, height 178cm
*/
//替换所有数字为0
Pattern p = Pattern.compile("[0-9]+");
Matcher m1 = p.matcher("name jack, age 18, weight 70, height 178cm");
String result = m1.replaceAll("0");
System.out.println(result);
/*程序输出
name jack, age 0, weight 0, height 0cm
*/

appendReplacement和appendTail提供了一种更灵活的方式来执行替换操作,和find()方法一起使用来定制每一个匹配到的字符串的替换方式。例如对每一个匹配到的字符串结尾加”0″,示例如下:

//所有字符结尾加0替换
Pattern p = Pattern.compile("[0-9]+");
Matcher m = p.matcher("name jack, age 18, weight 70, height 178cm");
StringBuffer sb = new StringBuffer();
while (m.find()) { 
   
    m.appendReplacement(sb, m.group() + "0");
}
m.appendTail(sb);
System.out.println(sb.toString());
/*程序输出
name jack, age 180, weight 700, height 1780cm
*/

在这里插入图片描述
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234564.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python—whl文件介绍与安装

    python—whl文件介绍与安装在安装whl文件之前,我们需要先搞清楚什么是whl文件,whl格式本质上是一个压缩包,里面包含了py文件,以及经过编译的pyd文件。使得可以在不具备编译环境的情况下,选择合适自己的python环境进行安装。在Win7下安装whl文件,可以直接使用pip命令:pipinstallMySQL_python-1.2.5-cp36-none-win32.whl(1)虽然大多数情况下,…

    2022年5月30日
    82
  • C语言的printf输出格式

    C语言的printf输出格式1、控制小数点后有多少位:printf(“%.10lf\n”,f_a); //将浮点数f_a输出时,输出其小数点后10位,默认是输出小数点后6位。2、控制一共(小数点前后以及小数点)输出多少位:printf(“%10.7f\n”,f_b); //将浮点数f_b输出时,输出其小数点前2位,小数点后7位(加上小数点共10位)。3、输出时让正数带”+”号,负数带”-“号:printf(“%+f\

    2022年7月24日
    16
  • open 函数[通俗易懂]

    open 函数[通俗易懂]open函数用来打开一个文件open返回值为一个文件句柄,从操作系统托付给你的python程序,一旦处理完文件,需要归还句柄,只有这样你的程序不会超过一次能打开的文件句柄的数量上限withopen(‘photo.jpg’,’r+’)asf: jpgdata=f.read()open的第⼀个参数是⽂件名。第⼆个(mode打开模式)决定了这个⽂件如何被打开。如果你想读…

    2022年5月25日
    41
  • BeanUtils.populate方法详解

    BeanUtils.populate方法详解将properties里面的值赋值给bean里面。BeanUtils.populate(Objectbean,Mapproperties), 这个方法会遍历map<key,value>中的key 如果bean中有这个属性,就把这个key对应的value值赋给bean的属性。

    2022年7月26日
    9
  • 数字信号处理实验(一)

    实验目的本次实验目的为:在matlab环境下产生几种基本的数字信号,并对这些基本的信号进行运算和变换,同时利用程序结果对采样定理进行验证,深刻理解采样定理。通过自己录制音频信号并对不同的音频信号进行不同处理,加深理解音频信号中声道的原理,以及混声、回声的形成原理。实验内容用matlab产生单位脉冲信号,单位阶跃信号,矩形信号,正弦信号,余弦信号,指数信号,产生并观察f(x)=sinc(x)函数的波

    2022年4月8日
    105
  • Java设计模式之创建型:单例模式

    Java设计模式之创建型:单例模式

    2021年10月4日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号