正则表达式的 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() 在预编译结果的基础上实现了快速的匹配


目录
相关文章
|
1月前
|
Java Apache Maven
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
文章提供了使用Apache POI库在Java中创建和读取Excel文件的详细代码示例,包括写入数据到Excel和从Excel读取数据的方法。
59 6
Java百项管理之新闻管理系统 熟悉java语法——大学生作业 有源码!!!可运行!!!
|
25天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
本系列教程笔记详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。若需快速学习Kotlin,建议查看“简洁”系列教程。本期重点介绍了Kotlin与Java的共存方式,包括属性、单例对象、默认参数方法、包方法、扩展方法以及内部类和成员的互操作性。通过这些内容,帮助你在项目中更好地结合使用这两种语言。
41 1
|
27天前
|
Java 开发工具 Android开发
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
Kotlin语法笔记(26) -Kotlin 与 Java 共存(1)
32 2
|
25天前
|
移动开发 Java Windows
Java 匹配\r 和 \n 的正则表达式如何编写
【10月更文挑战第19天】Java 匹配\r 和 \n 的正则表达式如何编写
72 3
|
25天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
本系列教程详细讲解了Kotlin语法,适合需要深入了解Kotlin的开发者。对于希望快速学习Kotlin的用户,推荐查看“简洁”系列教程。本文档重点介绍了Kotlin与Java混编的技巧,包括代码转换、类调用、ProGuard问题、Android library开发建议以及在Kotlin和Java之间互相调用的方法。
20 1
|
25天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
本教程详细讲解Kotlin语法,适合希望深入了解Kotlin的开发者。若需快速入门,建议查阅“简洁”系列教程。本文重点探讨Kotlin与Java共存的高级话题,包括属性访问、空安全、泛型处理、同步机制及SAM转换等,助你在项目中逐步引入Kotlin。
20 1
|
27天前
|
Java 编译器 Android开发
Kotlin语法笔记(28) -Kotlin 与 Java 混编
Kotlin语法笔记(28) -Kotlin 与 Java 混编
25 2
|
1月前
|
Java 程序员 编译器
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。
在Java编程中,保留字(如class、int、for等)是具有特定语法意义的预定义词汇,被语言本身占用,不能用作变量名、方法名或类名。本文通过示例详细解析了保留字的定义、作用及与自定义标识符的区别,帮助开发者避免因误用保留字而导致的编译错误,确保代码的正确性和可读性。
43 3
|
27天前
|
安全 Java 编译器
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
Kotlin语法笔记(27) -Kotlin 与 Java 共存(二)
29 0
|
2月前
|
Java 数据安全/隐私保护
java之基本语法
java之基本语法
27 6