System.out.println("-----------?:测试--------------");
Pattern per1 = Pattern.compile("k(?:aa)");
Matcher mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配aab
}
System.out.println("-----------?=测试--------------");
per1 = Pattern.compile("k(?=aa)");
mcer1 = per1.matcher("kkaab");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配nAbcdef
}
System.out.println("-----------?!测试--------------");
per1 = Pattern.compile("k(?!aa)");
mcer1 = per1.matcher("kkaabaa");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向后看0宽度匹配k
}
System.out.println("-----------?<=测试--------------");
per1 = Pattern.compile("(?<=aa)m");
mcer1 = per1.matcher("aamkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//m
}
System.out.println("-----------?<!测试--------------");
per1 = Pattern.compile("(?<!aa)k");
mcer1 = per1.matcher("aakkb");
while (mcer1.find()) {
System.out.println(mcer1.group());
//向前看0宽度匹配
//k
}
System.out.println("-----------?i和?-i测试--------------");
per1 = Pattern.compile(".(?i)abc(?-i)def");
mcer1 = per1.matcher("nnnnnnnnnnAbcdef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//匹配nAbcdef
}
per1 = Pattern.compile("(?-i)abc(?i)def");
mcer1 = per1.matcher("AbcDef");
while (mcer1.find()) {
System.out.println(mcer1.group());
//不匹配
}
System.out.println("-----------贪婪和懒惰和固定测试--------------");
//Pattern p = Pattern.compile(".{3,10}[0-9]");//贪婪 0-10
//Pattern p = Pattern.compile(".{3,10}?[0-9]");//懒惰 0-5和0-10
Pattern p = Pattern.compile(".{3,10}+[0-9]");//固定 不匹配没有结果显示
String s = "aaaa5bbbb6";
Matcher m = p.matcher(s);
while(m.find())
System.out.println(m.start() + "-" + m.end());
分享到:
相关推荐
正则表达式是用于匹配字符串中字符组合的模式,它是一种在文本处理中非常强大的工具。...由于资料来源于 OCR 扫描,建议对照正则表达式的权威教程或官方文档进行验证和补充,确保使用时的准确性和效率。
精通正则表达式第三版 搜集于网络 前言..........I 第1章:正则表达式入门.... 1 解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于...
正则表达式不仅被广泛应用于C#和JAVA这两种编程语言,而且在多种其他语言中也有着广泛的应用。 "正则表达式全面资料"这个压缩包包含了一系列的学习资源,从入门到高级,涵盖了正则表达式的各个方面。其中,"正则...
书中详细介绍了正则表达式的理论和实践,覆盖了各种编程环境下的应用,包括Perl、Java、JavaScript、.NET、PCRE(Perl兼容正则表达式)等。它分为多个部分,从基础语法开始,如字符集、量词、分组和捕获,再到高级...
此外,作者还探讨了正则表达式在不同编程语言中的实现差异,如JavaScript、Perl、Java和.NET框架等,使读者能够灵活运用到实际项目中。 在《精通正则表达式3版英文版.chm》这个文件中,读者可以找到完整且详细的...
正则表达式是一个强大的字符串处理工具,可以对字符串进行查找、提取、分割、替换等操作。
Java正则表达式是一种用于字符串匹配、替换和提取的工具,它提供了一种灵活的方式来处理文本数据。在Java中,正则表达式的使用主要依赖于java.util.regex包,它包含了用于执行正则表达式操作的类,如Pattern和...
### JavaScript与Java正则表达式的区别 在编程领域中,正则表达式是一种非常强大的工具,用于模式匹配、搜索和替换等操作。不同的编程语言在处理正则表达式时可能会有一些细微差别,尤其是在语法和API方面。本文将...
学习正则表达式能够提高你的代码效率和质量,因此这份教程是很好的补充学习材料。 总的来说,这个资料包为准备SCJP考试的考生提供了全面的支持,包括了考试大纲、实战题库、陷阱提示以及实用的正则表达式教程。考生...
#### 四、Java正则表达式与Jakarta-ORO的对比 除了 `java.util.regex` 包之外,还有一些第三方库提供了更强大的正则表达式功能,例如 Jakarta-ORO。Jakarta-ORO 提供了 `Perl5Compiler` 类来编译正则表达式,其使用...
Java的正则表达式主要通过`java.util.regex`包实现,而C++中通常使用标准库中的`<regex>`头文件。Mtracer 2.1可能提供更详细的分析和转换选项,以适应这两种语言的特定需求和语法规则,这对于那些在服务器端或桌面...
### Java字符串长度不够前面或后面补0 在Java编程中,有时我们需要确保字符串达到特定的长度,如果实际长度不足,则需要在字符串的前部或后部添加特定字符(如0)来填充,使得最终字符串满足预设长度的要求。本文将...
import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class TestOutDate { public static void main(String[] args) { //method 1...
- 对 Java 正则表达式的具体语法进行了详细的说明。 - 5.5 面向对象的文件 grep - 提供了一个基于正则表达式的面向对象的文件搜索工具的实现。 - 5.6 总结 - **第六章:字符集** - 6.1 字符集基础 - 讨论了...
- Java正则表达式API - 字符串类的正则表达式方法 - Java正则表达式语法 - 基于对象的文件grep操作 6. 字符集(Character Sets) - 字符集的基础知识 - 字符集的应用 - 字符集服务提供者接口 附录部分提供...
补充知识部分展示了如何使用正则表达式获取字符前后的数据。这里有两个不同的场景:一种是获取"λ|入"后跟的数字,另一种是获取"波|第"前的数字。在第一种情况下,使用了`comp1`正则表达式,匹配任意数量的字符(`[\...
- **Java 正则表达式 API**:详细讲解了 Java 提供的正则表达式 API 及其使用方法。 - **字符串类的正则表达式方法**:讨论了 String 类中与正则表达式相关的内置方法。 - **面向对象的文件 grep**:通过一个具体的...
Jakarta ORO,全称是Oracle Regular Expressions for Java,是由Apache软件基金会开发的一个开源项目,主要用于Java平台的正则表达式处理。这个项目在Java社区中被广泛使用,为开发者提供了一套强大的文本匹配和搜索...
在Java编程语言中,分解字符...熟练掌握`split()`方法及其背后的正则表达式原理,对于提升Java编程能力非常有帮助。通过`StringDemo_13.java`文件的实践和`Java.jpg`图片的参考,你可以更深入地理解和应用这些知识点。
在深入学习Java的过程中,了解并掌握额外的补充内容,如Java IO流、设计模式和正则表达式等,能够极大地提升开发效率和代码质量。以下将对这些主题进行详细的探讨。 首先,Java IO流是Java平台中的核心部分,用于...