正则表达式的 Java语法

简介: 正则表达式的 Java语法

正则表达式的Java语法




正则表达式的模式串直接匹配方式


下面的这个例子用正则表达式判断单词中是否含有i字母:

importjava.util.regex.*;
publicclassTestRegexDirect {
publicstaticvoidmain(String[] args){
Stringword="university";
StringpatternString="\\w*i\\w*";
booleanflag=Pattern.matches(patternString, word);
System.out.println(flag);
 }
}


  • 这种匹配方式适用于单次匹配,其效率较低。
  • 原因是:静态方法Pattern.matches( , )每次都要对其中的参数patternString做一次处理,方可匹配。

正则表达式的模式串预编译后匹配方式


下面的这个例同样用正则表达式判断单词中是否含有i字母:

importjava.util.regex.*;
publicclassTestRegexCompile {
publicstaticvoidmain(String[] args){
String[] words= {"your", "Eglish", "university"};
StringpatternString="\\w*i\\w*";
Patternpattern=Pattern.compile(patternString);
for (Stringword : words){
Matchermatcher=pattern.matcher(word);
booleanflag=matcher.matches();
System.out.println(flag);
 }
 }
}


  • 这个匹配的效率就高得多。
  • 这是因为方法Pattern.compile()方法对patternString做了预编译,这使得后期的匹配效率更高。
  • 在使用模式串多次匹配的情况下,要使用这个方法。


正则表达式的预编译及匹配方式的语法


下面是上述例子中三个重要语法:

• Pattern pattern = Pattern.compile(patternString);对模式串patternString做了预编译,结果存放在pattern中。


• Matcher matcher = pattern.matcher(word);pattern 和 word 通过matcher()方法,形成一个matcher匹配器


• boolean flag = matcher.matches();Matcher对象的无参方法 matches() 在预编译结果的基础上实现了快速的匹配


目录
相关文章
|
13天前
|
存储 Java 容器
Java 基础语法
Java是一种面向对象的编程语言,其基础语法包括类和对象、方法、变量、控制流语句、继承和多态以及异常处理。代码需写在类中,`main()`方法是程序入口,变量用于存储数据,控制流语句控制程序执行流程,继承和多态增强代码灵活性,异常处理保证程序稳定性。掌握这些知识可帮助您编写简单的Java程序。
|
1月前
|
缓存 前端开发 Java
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
【8月更文挑战第10天】java基础巩固,工具类的封装
18 1
【前端学java】java基础巩固复习巩固语法练习-工具类的封装(14)
|
1月前
|
存储 前端开发 JavaScript
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
【8月更文挑战第8天】10min快速入门java的基础语法
30 2
【前端学JAVA】有手就会!10min快速入门java的基础语法(2)
|
17天前
|
安全 前端开发 Java
浅析JVM invokedynamic指令与Java Lambda语法的深度融合
在Java的演进历程中,Lambda表达式无疑是Java 8引入的一项革命性特性,它极大地简化了函数式编程在Java中的应用,使得代码更加简洁、易于阅读和维护。而这一切的背后,JVM的invokedynamic指令功不可没。本文将深入探讨invokedynamic指令的工作原理及其与Java Lambda语法的紧密联系,带您领略这一技术背后的奥秘。
13 1
|
21天前
|
小程序 Java
【aspose-words】Aspose.Words for Java模板语法详细剖析
本文通过详细分析Aspose.Words for Java模板语法,介绍了使用条件块、变量和动态合并表格单元格三个常用模板标签,并结合实际案例进行演示。通过这三个标签的实操,帮助读者更好地掌握Aspose.Words的使用技巧。此外,还提供了官方文档链接以便进一步学习。
66 0
【aspose-words】Aspose.Words for Java模板语法详细剖析
|
1月前
|
安全 Java 编译器
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
Java 基础语法-面试题(53道)(基础概念+基础语法+流程控制)
46 18
|
1月前
|
Java
Java 基础语法-面试题(54-63道)(数组+类+包)
Java 基础语法-面试题(54-63道)(数组+类+包)
35 16
|
1月前
|
存储 Java 编译器
Java 基础语法-方法
Java 基础语法-方法
34 12
|
1月前
|
Java API
Java语法Java语法
【8月更文挑战第12天】Java语法
34 3