Java Pattern Regex表达式
1. 为什么要使用Pattern?
一般来说如果我们要对String做某个范式下的替换时,我们需要使用
stringEG.replaceAll("(?i)@gmail\\.com$", "");
上面这行代码是将stringEG最后的@gmail.com给替换掉,通过这种方式来获得用户名。
这种Replace操作我们会经常使用,但是上述有一个问题,即每次运行都要执行一遍Regex操作,这样很费时间,每次都要进行编译,Pattern可以帮助我们解决这个问题。
通过设置static的变量,我们可以将Compile完的结果存起来,然后在需要的时候直接使用这个结果即可。
使用方法如下所示:
private static final Pattern USER_NAME_PATTERN = Pattern.compile("(?i)@gmail\\.com$);
final String username = USER_NAME_PATTERN.matcher(stringEG.replace(""));
2. 如何使用Pattern?
使用Java Pattern,重点在于对于正则表达式的使用,可以看一下文章 - 正则表达式, 里面有对正则的详细介绍。
Pattern对象是一个已经编译过的正则表达式的表达,Pattern类没有public的构造器,想要创建一个Pattern,我们需要首先调用其静态的compile()方法,通过这个方法会得到一个Pattern对象。
Matcher 对象用来解释正则表达式然后根据表达式来找符合规则的相关表达,同样没有public的构造器,通过调用matcher() 方法来作比较
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 stone2paul@gmail.com
文章标题:Java Pattern Regex表达式
文章字数:364
本文作者:Leilei Chen
发布时间:2020-02-06, 11:00:32
最后更新:2020-02-06, 11:00:54
原始链接:https://www.llchen60.com/Java-Pattern-Regex%E8%A1%A8%E8%BE%BE%E5%BC%8F/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。