正则式在编程中常用,总结在此以备考:

package regularexp;

import java.util.regex.Matcher;
import java.util.regex.Pattern; public class RegUsages {
// 验证例子
private static boolean verify(String code) {
final String patternStr = "\\d+";
return Pattern.matches(patternStr, code);
}
// 查找例子
private static void search() {
Pattern pattern = Pattern.compile("m(o+)n", Pattern.CASE_INSENSITIVE); Matcher matcher=pattern.matcher("Sun Earth moon mooon Mon mooooon Mooon Mars");
while(matcher.find()) {
System.out.println(String.format("%s (%d~%d)", matcher.group(0),matcher.start(),matcher.end()));
}
}
// 更替例子1
private static void replace1() {
String str = "10元 1000人民币 10000元 100000RMB";
str = str.replaceAll("(\\d+)(元|人民币|RMB)", "$1圆");
System.out.println(str);
}
// 更替例子2
private static void replace2() {
Pattern p = Pattern.compile("m(o+)n", Pattern.CASE_INSENSITIVE); Matcher m = p.matcher("Sun Earth moon mooon Mon mooooon Mooon Mars");
StringBuffer sb = new StringBuffer(); boolean result = m.find(); while (result) {
m.appendReplacement(sb, "Moon");
result = m.find();
}
m.appendTail(sb); System.out.println("Result=" + sb.toString());
} public static void main(String[] args) {
System.out.println(String.format("601857 %s a stock code.",verify("601857")?"is":"isn't"));
search();
replace1();
replace2();
}
}

输出:

601857 is a stock code.
moon (10~14)
mooon (15~20)
Mon (21~24)
mooooon (25~32)
Mooon (33~38)
10圆 1000圆 10000圆 100000圆
Result=Sun Earth Moon Moon Moon Moon Moon Mars

--2020-03-06--

正则表达式在Java中应用的三种典型场合:验证,查找和替换的更多相关文章

  1. java中 this 的三种用法

    Java中this的三种用法 调用属性 (1)this可以调用本类中的任何成员变量 调用方法(可省略) (2)this调用本类中的成员方法(在main方法里面没有办法通过this调用) 调用构造方法 ...

  2. Java中对象的三种状态

    Java中的对象的三种状态是和垃圾回收紧密相关的,因此有必要深究. 状态一:可触及态:从根节点开始,可以搜索到这个对象,也就是可以访问到这个对象,也有人将其称为可达状态. 状态二:可复活态:从根节点开 ...

  3. java中线程的三种实现方式

    一下记录下线程的3中实现方式:Thread,Runnable,Callable 不需要返回值时,建议使用Runnable:有返回值时建议使用Callable 代码如下所示: package com.f ...

  4. Java中Map的三种遍历方法

    Map的三种遍历方法: 1. 使用keySet遍历,while循环: 2. 使用entrySet遍历,while循环: 3. 使用for循环遍历.   告诉您们一个小秘密: (下↓面是测试代码,最爱看 ...

  5. Java中Singleton的三种实现方式解析

    一.什么是Singleton? <设计模式>的作者.Eclipse和 Junit 的开发者 Erich Gamma 在它的理论体系中将 Singleton 定义为仅仅被实例化一次的类.在当 ...

  6. Java中配置文件的三种配置位置及读取方式

    XML 和properties properties: 1.存放于src根目录下 //获取到同包下的资源文件,将其转换成流对象 //InputStream is= PropertiesDemo.cla ...

  7. JAVA中this的三种用法的详解

    this关键字必须放在非静态方法里面 this关键字代表自身,在程序中主要的使用用途有以下几个方面: ? 使用this关键字引用成员变量 ? 使用this关键字在自身构造方法内部引用其它构造方法 ? ...

  8. 正则表达式在Java中的使用

    目录 介绍 从简单例子认识正则表达式匹配 Java中对正则表达式的支持(各种语言有相应的实现) 初步认识 . + * ? 范围 认识\s \w \d - 下面介绍数字和字母的正则表达, 这是编程中使用 ...

  9. java 获取随机数的三种方法

    方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...

随机推荐

  1. 某大型企业ospf面试题分析(含路由策略和路由过滤,及双点双向重发布)

    面试问题背景 本面试题来自国内最大通信技术公司之一,央企,有很多金融网项目. 了解行业的同学,一定知道事哪个企业. 上面试问题(取自百哥收集整理的面试总结大全,关注百哥CSDN或知乎,不定期分享名企面 ...

  2. scss @mixin & @include

    定义一个带参数和默认值的mixin class // demo.scss @mixin button($background:#606266) { font-size: 1em; padding: 0 ...

  3. golang 数据类型/基础语法

    常量 变量 复合类型 结构体 数组 基础类型 整型 浮点型 复数 bool 值 字符型 字符串 错误(稍微有异议) 引用类型 切片 指针 字典 管道 函数 接口 其他语法结构 包 流程控制 运算符 注 ...

  4. noip复习——逆元

    逆元,即对给定\(a,p\ (a \perp p)\),求\(x\)使得\(ax \equiv 1 \ (\bmod p)\) 逆元可以看做\(a\)在模\(p\)意义下的\(a^{-1}\).因此, ...

  5. node mssql 无法连接sql server

    mssql无法连接sql server主要有两种原因: Sql server使用的是Windows身份验证 Sql server并没有打开网络连接功能 1.打开Sql Server身份验证 参考这篇文 ...

  6. powerMock和mockito使用

    powerMock和mockito powermock和mockito都是做mock的框架,powermock在mockito的基础上扩展而来,支持mockito的操作(也支持别的mock框架比如ea ...

  7. Salesforce学习笔记之吐槽

    迄今感到的几个不方便 1. SOQL里没有SELECT * ,只好根据参考手册和用vs code的一个插件Schema Explorer来辅助生成SELECT语句. 2. SOQL不支持注释,Deve ...

  8. [NOIP2019] 划分

    题目 题解 首先YY一个最简单的dp $dp[i][j]=min(dp[j][k]+(sum[i]-sum[j])^2 (sum[i]-sum[j]>=sum[j]-sum[k])$ $dp[i ...

  9. 面试中HashMap链表成环的问题你答出了吗

    HashMap作为老生常谈的问题,备受面试官的青睐,甚至成为了面试必问的问题.由于大量的针对HashMap的解析横空出世,面试官对HashMap的要求越来越高,就像面试官对JVM掌握要求越来越高一样, ...

  10. setjmp()/longjmp()的使用方法

    setjmp和longjmp.为了让你实现复杂的流控制,程序在系统里面运行完全依靠内存(代码段,全局段,堆存储器,栈存储器)和寄存器的内容(栈指针,基地址,计数器),setjmp保存当前的寄存器里面的 ...