Java--正则表达式--基本介绍
- 正则表达式快速入门:
-
-
应用场景与需求:
-
基本介绍:
-
package com.model.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/8/18 22:12 * 正则表达式的应用 */ public class RegExpDemo01 { public static void main(String[] args) { String context = "1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了\"+" + "\"第二代Java平台(简称为Java2)的3个版本:J2NE (Java2 Micro Edition,Java2平台的微型”+\"版),应用于移动、" + "无线及有限资源的环境;J2SE (Java 2 Standard Edition,Java 2平台的\"+\"标准版),应用于桌面环境;J2EE " + "(Java 2Enterprise Edition,Java\n2平台的企业版),应\"+\n" + "\"用3443于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个”+\n" + "\"里程碑,标志着Java的应用开始普及9889 \";\n"; // 1.匹配表达式 String regExp="\\d\\d\\d\\d"; // 2.创建模式匹配对象 Pattern pattern = Pattern.compile(regExp); // 3.创建匹配器 Matcher matcher = pattern.matcher(context); // 4.将匹配到的字符串进行输出 while (matcher.find()){ System.out.println(matcher.group(0)); }
} }
-
底层原理:
-
package com.model.regexp; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * @Description:测试类 * @Author: 张紫韩 * @Crete 2021/8/18 22:12 * 正则表达式的应用 */ public class RegExpDemo01 { public static void main(String[] args) { String context = "1998年12月8日,第二代Java平台的企业版J2EE发布。1999年6月,Sun公司发布了\"+" + "\"第二代Java平台(简称为Java2)的3个版本:J2NE (Java2 Micro Edition,Java2平台的微型”+\"版),应用于移动、" + "无线及有限资源的环境;J2SE (Java 2 Standard Edition,Java 2平台的\"+\"标准版),应用于桌面环境;J2EE " + "(Java 2Enterprise Edition,Java\n2平台的企业版),应\"+\n" + "\"用3443于基于Java的应用服务器。Java 2平台的发布,是Java发展过程中最重要的一个”+\n" + "\"里程碑,标志着Java的应用开始普及9889 \";\n"; // 1.匹配表达式 \\d表示匹配任意的数字 String regExp="(\\d\\d)(\\d\\d)"; // 2.创建模式匹配对象 Pattern pattern = Pattern.compile(regExp); // 3.创建匹配器 Matcher matcher = pattern.matcher(context); // 4.将匹配到的字符串进行输出 while (matcher.find()){ System.out.println("整个字符串:"+matcher.group(0)); System.out.println("第一组:"+matcher.group(1)); System.out.println("第二组:"+matcher.group(2)); } // matcher.find(): // 当这个方法会对字符传进行配匹配, // 当匹配到合适的子字符串式,它会进行记录,将匹配到的子字符串的第一下标和字符串后面的一个下标记录 // 记录在 int groups[]; 数组中,groups[0]=匹配子字符串的起始下标 groups[1]=子字符串结束下标+1 // // matcher.group[0]: // 根据 groups[0] 和groups[1] 数组的记录的的数值,截取字符串 [group[0],groups[1]) 并返回; // matcher.find(), 匹配记录字符串,matcher.group[0]:截取并返回我们匹配到的字符串 // 分组就是我们匹配表达式中有小括号 : String regExp="(\\d\\d)(\\d\\d)"; // 第一个小号就是第一个分组,第二个小括号就是第二个分组 // matcher.find()(考虑分组): // 会匹配到字符串,记录子字符串的下标 // groups[0]=记录子字符串的起始下标 groups[1]=子字符串结束下标+1 // groups[2]=记录第一个小括号内字符串的起始下标 groups[3]=记录第一个小括号内字符串的结束小标+1 // groups[4]=记录第二个小括号内字符串的起始下标 groups[5]=记录第二个小括号内字符串的结束小标+1 // // matcher.group(0):截取返回整个匹配到的字符串 // matcher.group(1):截取返回匹配到的字符串的第一组字符串 // matcher.group(2):截取返回匹配到的字符串的第二组字符串 } }
-
-