文章目录438. Java 正则表达式 - 简介1. 什么是正则表达式Regular Expressions2. Java 的正则表达式核心类 示例Pattern 和 Matcher3. Unicode 支持JDK 7匹配指定的 Unicode 码点Unicode 属性匹配4. 总结 438. Java 正则表达式 - 简介1. 什么是正则表达式Regular Expressions正则表达式简称 Regex是一种用来描述字符串模式的工具。它能帮我们完成 搜索文本比如找出所有手机号✂️ 编辑和替换文本比如把日期格式从2025-09-16改成16/09/2025✅ 验证输入比如检查用户输入是不是合法的邮箱地址 正则表达式有点像一门小语言它有自己独特的语法规则比普通的 Java 语法要“紧凑”。一开始可能觉得晦涩但掌握了基本规则之后就可以快速看懂、甚至写出复杂的正则。在业界有多种“方言”grep、Perl、Tcl、Python、PHP、awk等。Java 的正则表达式语法和Perl最接近。2. Java 的正则表达式核心类Java 的正则表达式主要由java.util.regex包里的三个核心类组成Pattern已编译的正则表达式对象。 用Pattern.compile()创建而不是 new。Matcher正则引擎用来匹配输入字符串。 通过pattern.matcher(input)获取。PatternSyntaxException当正则语法错误时抛出的异常。 例如Pattern.compile([A-Z)会报错因为右括号缺失。 示例Pattern 和 Matcherimportjava.util.regex.*;publicclassRegexDemo{publicstaticvoidmain(String[]args){PatternpatternPattern.compile(\\d);// 匹配一个或多个数字Matchermatcherpattern.matcher(Today is 2025-09-16.);while(matcher.find()){System.out.println(Found: matcher.group() from index matcher.start() to matcher.end());}}}输出Found:2025from index9to13Found:09from index14to16Found:16from index17to19 解释\\d表示匹配一个或多个数字matcher.find()会逐个找出所有符合的子串3. Unicode 支持JDK 7Java 的正则在 JDK 7 以后支持 Unicode 6.0更适合国际化场景。匹配指定的 Unicode 码点\uFFFF格式\u6771→ 匹配“東”字汉字“东”的繁体。intcodePoint0x6771;StringhexPatternString.format(\\u%04x,codePoint);PatternpatternPattern.compile(hexPattern);Matchermatcherpattern.matcher(東风破);System.out.println(matcher.find());// trueUnicode 属性匹配可以按照字符的“脚本 (script)”、“区块 (block)”和“通用类别 (general category)”匹配。脚本 (Scripts)\p{scriptHiragana}或\p{IsHiragana} 用来匹配日语平假名。区块 (Blocks)\p{blockMongolian}或\p{InMongolian} 用来匹配蒙古文字符。通用类别 (General Category)\p{IsL}→ 匹配所有字母\p{gcLu}→ 匹配所有大写字母\p{gcNd}→ 匹配所有数字 示例PatternpPattern.compile(\\p{IsHiragana});// 匹配平假名Matchermp.matcher(これはテストです);// 包含日语平假名System.out.println(m.find());// true4. 总结 正则表达式是强大的字符串模式工具Java 提供PatternMatcher来完成匹配JDK 7 起支持Unicode 6.0能处理国际化文本
438. Java 正则表达式 - 简介
发布时间:2026/6/18 14:50:59
文章目录438. Java 正则表达式 - 简介1. 什么是正则表达式Regular Expressions2. Java 的正则表达式核心类 示例Pattern 和 Matcher3. Unicode 支持JDK 7匹配指定的 Unicode 码点Unicode 属性匹配4. 总结 438. Java 正则表达式 - 简介1. 什么是正则表达式Regular Expressions正则表达式简称 Regex是一种用来描述字符串模式的工具。它能帮我们完成 搜索文本比如找出所有手机号✂️ 编辑和替换文本比如把日期格式从2025-09-16改成16/09/2025✅ 验证输入比如检查用户输入是不是合法的邮箱地址 正则表达式有点像一门小语言它有自己独特的语法规则比普通的 Java 语法要“紧凑”。一开始可能觉得晦涩但掌握了基本规则之后就可以快速看懂、甚至写出复杂的正则。在业界有多种“方言”grep、Perl、Tcl、Python、PHP、awk等。Java 的正则表达式语法和Perl最接近。2. Java 的正则表达式核心类Java 的正则表达式主要由java.util.regex包里的三个核心类组成Pattern已编译的正则表达式对象。 用Pattern.compile()创建而不是 new。Matcher正则引擎用来匹配输入字符串。 通过pattern.matcher(input)获取。PatternSyntaxException当正则语法错误时抛出的异常。 例如Pattern.compile([A-Z)会报错因为右括号缺失。 示例Pattern 和 Matcherimportjava.util.regex.*;publicclassRegexDemo{publicstaticvoidmain(String[]args){PatternpatternPattern.compile(\\d);// 匹配一个或多个数字Matchermatcherpattern.matcher(Today is 2025-09-16.);while(matcher.find()){System.out.println(Found: matcher.group() from index matcher.start() to matcher.end());}}}输出Found:2025from index9to13Found:09from index14to16Found:16from index17to19 解释\\d表示匹配一个或多个数字matcher.find()会逐个找出所有符合的子串3. Unicode 支持JDK 7Java 的正则在 JDK 7 以后支持 Unicode 6.0更适合国际化场景。匹配指定的 Unicode 码点\uFFFF格式\u6771→ 匹配“東”字汉字“东”的繁体。intcodePoint0x6771;StringhexPatternString.format(\\u%04x,codePoint);PatternpatternPattern.compile(hexPattern);Matchermatcherpattern.matcher(東风破);System.out.println(matcher.find());// trueUnicode 属性匹配可以按照字符的“脚本 (script)”、“区块 (block)”和“通用类别 (general category)”匹配。脚本 (Scripts)\p{scriptHiragana}或\p{IsHiragana} 用来匹配日语平假名。区块 (Blocks)\p{blockMongolian}或\p{InMongolian} 用来匹配蒙古文字符。通用类别 (General Category)\p{IsL}→ 匹配所有字母\p{gcLu}→ 匹配所有大写字母\p{gcNd}→ 匹配所有数字 示例PatternpPattern.compile(\\p{IsHiragana});// 匹配平假名Matchermp.matcher(これはテストです);// 包含日语平假名System.out.println(m.find());// true4. 总结 正则表达式是强大的字符串模式工具Java 提供PatternMatcher来完成匹配JDK 7 起支持Unicode 6.0能处理国际化文本