449. Java 正则表达式 - 其他实用方法
文章目录449. Java 正则表达式 - 其他实用方法1️⃣ Pattern.quote(String s)示例2️⃣ Pattern.toString()示例3️⃣ String 类中的正则方法示例 1String.matches()示例 2String.split()示例 3String.replace() 小结449. Java 正则表达式 - 其他实用方法除了Pattern和Matcher的常用方法Java 提供了一些辅助方法和String里的正则方法可以让正则操作更方便。1️⃣Pattern.quote(String s)publicstaticStringquote(Strings)功能将输入字符串s转换为字面量匹配的正则表达式特点输入中的元字符如.,*,?等会被当作普通字符处理不再具有特殊含义示例importjava.util.regex.Pattern;publicclassQuoteDemo{publicstaticvoidmain(String[]args){Stringinputa.b*c?;StringregexPattern.quote(input);// 将特殊字符转义booleanmatchPattern.matches(regex,a.b*c?);System.out.println(match);// 输出 true}} 说明如果直接用a.b*c?作为正则会匹配任意一个字符 b 任意次数的 c 可选 ?使用Pattern.quote()后匹配严格完全等于字符串本身2️⃣Pattern.toString()publicStringtoString()功能返回编译正则表达式的字符串形式用途方便调试查看当前Pattern对象对应的正则表达式示例PatternpPattern.compile(\\d{3}-\\d{2}-\\d{4});System.out.println(p.toString());// 输出 \d{3}-\d{2}-\d{4}3️⃣String类中的正则方法Java 的java.lang.String也提供了几个与Pattern等效的方法让你直接对字符串操作正则方法功能等效 Pattern 方法boolean matches(String regex)判断字符串是否完全匹配正则Pattern.matches(regex, str)String[] split(String regex)按正则分割字符串去掉尾部空字符串Pattern.compile(regex).split(str)String[] split(String regex, int limit)按正则分割字符串限制拆分次数Pattern.compile(regex).split(str, limit)String replace(CharSequence target, CharSequence replacement)替换字面量子串不是正则只替换字符串字面量示例 1String.matches()Stringstr12345;booleanmatchstr.matches(\\d);// 判断是否全部是数字System.out.println(match);// 输出 true✅ 注意matches()要求整个字符串匹配不是部分匹配。示例 2String.split()Stringstrone:two:three;String[]partsstr.split(:);for(Strings:parts){System.out.println(s);}输出one two three示例 3String.replace()Stringstraaa;Stringresultstr.replace(aa,b);System.out.println(result);// 输出 ba 说明替换从左到右字面量替换不会把aa重叠部分当成两次匹配 小结Pattern.quote()把字符串转成字面量正则Pattern.toString()查看当前正则表达式String类方法方便快捷适合简单匹配、拆分或替换✅ 建议复杂正则→ 用Pattern和Matcher简单匹配/拆分/替换→ 用String自带方法