package com.xx; import java.util.Arrays; import java.util.regex.Matcher; import
java.util.regex.Pattern; /** * Pattern&Matcher * * @author xx * */ public class
Test1 { public static void main(String[] args) { // 创建一个正则表达式 Pattern pattern =
Pattern.compile("[0-9]+"); System.out.println("正则表达式:" + pattern); // 使用正则匹配字符串
boolean matches = Pattern.matches("[0-9]+", "abcde123");
System.out.println("是否匹配正则表达式:" + matches); // 使用正则表达式切割字符串 String[] arr =
pattern.split("a1b2c3d4"); Arrays.stream(arr).forEach(System.out::println); //
Matcher提供更加强大的正则匹配操作 Matcher matcher = pattern.matcher("a1b2c3d4"); // 匹配全部字符串
boolean matches2 = matcher.matches(); System.out.println("是否匹配正则表达式:" +
matches2); // 只匹配第一个字符串 boolean lookingAt = matcher.lookingAt();
System.out.println("首字母是否匹配正则表达式:" + lookingAt); // 是否存在匹配项(类似于contains)
boolean find = matcher.find(); System.out.println("是否存在匹配项:" + find); Pattern
pattern2 = Pattern.compile("[0-9]+"); Matcher matcher2 =
pattern2.matcher("aaa2223bb4444"); // 匹配过滤后的字符串,默认返回第一个 matcher2.find(); //
查看最后匹配的结果 String string = matcher2.toString(); System.out.println("string" +
string); // 匹配首个过滤后的子字符串 // matcher2.lookingAt(); // 匹配整个字符串 //
matcher2.matches(); // 返回第一个匹配项的索引位置,默认返回第一个 int start = matcher2.start(); //
返回最后一个匹配项的索引位置,默认返回第一个 int end = matcher2.end(); // 返回匹配到的字符串 String group =
matcher2.group(); System.out.println(start); System.out.println(end);//
这里是7是因为2223被当成了一个整体 System.out.println(group); // eg Pattern pattern3 =
Pattern.compile("[a-z]+"); Matcher matcher3 =
pattern3.matcher("aaa111bbb222ccc333"); while (matcher3.find()) {
System.out.println("过滤结果:" + matcher3.group() + ";子字符串下标:" + matcher3.start());
} } }
 

技术
©2019-2020 Toolsou All rights reserved,
非父子组件之间的三种传值办法vue使用vue-clipboard2实现复制链接的功能MySql语句 递归寻找某输入部门的所有下级部门(精华)2020年6月26日 C#类库 循环执行帮助类(精华)2020年8月13日 C#基础知识点 windform实现双色球福布斯中国汽车富豪榜:何小鹏第11 李想第14 李斌第15Python 读取Excel某一列|转存jsonVue开发小技巧华为鸿蒙操作系统有哪些特点和优势?余承东《全场景时代 新体验与新生态》演讲全文继承jpa Repository 写自定义方法查询