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)
上一篇 2025年6月1日 下午12:15
下一篇 2025年6月1日 下午12:43


相关推荐

  • MySQL事务表和非事务表

    MySQL事务表和非事务表

    2022年2月10日
    52
  • ContentWindow属性的用法及作用

    ContentWindow属性的用法及作用最近在给项目搭建功能的过程中遇到了个难题 因为在设计该项目时给的 iframe 子页面非常多 从头到尾数下来的话起码得有十多个子页面 当时搭页面的时候用了 layui 中的 Tab 选项卡插件 让用户可以通过点击所需的业务按钮来弹出相对应的分页面 但子页面多也并不是件好事 几乎每个子页面都需要用到父页面的中的方法 打开存放在父页面中与该业务相关的模态框 遮罩层 或是让父页面刷新 这都需要通过 js 中的 paren

    2026年3月26日
    1
  • resnet残差网络代码_pytorch卷积神经网络

    resnet残差网络代码_pytorch卷积神经网络工欲善其事必先利其器,在使用该网络之前要先了解该网络的具体细节,我今天也是第一次查资料,然后加上自己的理解去写这篇学习成长文章。残差模块classResidualBlock(nn.Module):def__init__(self,inchannel,outchannel,stride=1,dowansample=None):super(ResidualBlock,self).__init__()self.left=nn.Sequential

    2022年10月6日
    4
  • AutoIt3 使用进程名获取窗口句柄

    AutoIt3 使用进程名获取窗口句柄音乐的窗口 Title 会动态改变 Class 又与相同 因此自己写一个 WinGetHandle 方法 使用进程名 Music exe 和窗口 Class TXGuiFoundat 获得窗口句柄

    2026年3月18日
    2
  • python实现手写数字识别(小白入门)「建议收藏」

    python实现手写数字识别(小白入门)「建议收藏」手写数字识别(小白入门)今早刚刚上了节实验课,关于逻辑回归,所有手有点刺挠就想发个博客,作为刚刚入门的小白,看到代码运行成功就有点小激动,这个实验没啥含金量,所以路过的大牛不要停留,我怕你们吐槽。废话少说,直接看实验结果:这里写目录标题手写数字识别(小白入门)1.数据预处理2.训练模型3.测试模型,保存4.调用模型5.完整代码1.数据预处理其实呢,原理很简单,就是使用多变量逻辑回归,将训练28*28图片的灰度值转换成一维矩阵,这就变成了求784个特征向量1个标签的逻辑回归问题。代码如下:

    2025年11月14日
    4
  • 为Windows 7的winsxs目录瘦身,谨慎。

    为Windows 7的winsxs目录瘦身,谨慎。

    2021年12月4日
    50

发表回复

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

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