`
cloud21
  • 浏览: 396448 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

学习正则表达式最佳的材料

阅读更多
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegularExpression {

	public static void main(String[] args) {
		// 简单认识正则表达式的概念

		// p("abc".matches("..."));
		// p("a8729a".replaceAll("\\d", "-"));
		// Pattern p = Pattern.compile("[a-z]{3}");
		// Matcher m = p.matcher("fgh");
		// p(m.matches());
		// p("aaas".matches("[a-z]{3,}"));

		// 初步认识. * + ?

		// p("a".matches("."));
		// p("aa".matches("aa"));
		// p("aaaa".matches("a*"));
		// p("aaaa".matches("a+"));
		// p("".matches("a*"));
		// p("aaaa".matches("a?"));
		// p("".matches("a?"));
		// p("a".matches("a?"));
		// p("214523145234532".matches("\\d{3,100}"));
		// p("192.168.0.231".matches("\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}"));
		// p("192".matches("[0-2][0-9][0-9]"));

		// 范围

		// p("a".matches("[abc]"));
		// p("a".matches("[^abc]"));
		// p("A".matches("[a-zA-Z]"));
		// p("a".matches("[a-z]|[A-Z]"));
		// p("A".matches("[a-z[A-Z]]"));
		// p("R".matches("[A-Z&&[RFG]]"));

		// 认识\s \w \d \

		// p(" \n\r\t".matches("\\s{4}"));
		// p(" ".matches("\\S"));
		// p("a_8".matches("\\w{3}"));
		// p("abc888&^%".matches("[a-z]{1,3}\\d+[&^#%]+"));
		// p("\\".matches("\\\\"));

		// POSIX Style

		// p("a".matches("\\p{Lower}"));

		// boundary

		// p("hello sir".matches("^h.*"));
		// p("hello sir".matches(".*ir$"));
		// p("hello sir".matches("^h[a-z]{1,3}o\\b.*"));
		// p("hellosir".matches("^h[a-z]{1,3}o\\b.*")); // whilte lines
		// p("\n".matches("^[\\s&&[^\\n
		// p("aaa 8888c".matches(".*\\d{4}."));
		// p("aaa8888c".matches(".*\\b\\d{4}."));
		// p("aaa8888c".matches(".*\\d{4}."));
		// p("aaa 8888c".matches(".*\\b\\d{4}."));

		// email

		// p("asdfasdfsafsf@dsdfsdf.com".matches("[\\w[.-]]+@[\\w[.-]]+\\.[\\w]+"));

		// matches find lookingAt

		// Pattern p = Pattern.compile("\\d{3,5}");
		// String s = "123-34345-234-00";
		// Matcher m = p.matcher(s);
		// p(m.matches());
		// m.reset();
		// p(m.find());
		// p(m.start() + "-" + m.end());
		// p(m.find());
		// p(m.start() + "-" + m.end());
		// p(m.find());
		// p(m.start() + "-" + m.end());
		// p(m.find());
		// //p(m.start() + "-" + m.end());
		// p(m.lookingAt());
		// p(m.lookingAt());
		// p(m.lookingAt());
		// p(m.lookingAt());

		// replacement

		// Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
		// Matcher m = p
		// .matcher("java Java JAVa JaVa IloveJAVA you hateJava afasdfasdf");
		// StringBuffer buf = new StringBuffer();
		// int i = 0;
		// while (m.find()) {
		// i++;
		// if (i % 2 == 0) {
		// m.appendReplacement(buf, "java");
		// } else {
		// m.appendReplacement(buf, "JAVA");
		// }
		// }
		// m.appendTail(buf);
		// p(buf);

		// group

		// Pattern p = Pattern.compile("(\\d{3,5})([a-z]{2})");
		// String s = "123aa-34345bb-234cc-00";
		// Matcher m = p.matcher(s);
		// while (m.find()) {
		// p(m.group());
		// }

		// qulifiers

		// Pattern p = Pattern.compile(".{3,10}+[0-9]");
		// String s = "aaaa5bbbb68";
		// Matcher m = p.matcher(s);
		// if (m.find())
		// p(m.start() + "-" + m.end());
		// else
		// p("not match!");

		// non-capturing groups

		// Pattern p = Pattern.compile(".{3}(?=a)");
		// String s = "444a66b";
		// Matcher m = p.matcher(s);
		// while (m.find()) {
		// p(m.group());
		// }

		// back refenrences

		// Pattern p = Pattern.compile("(\\d(\\d))\\2");
		// String s = "122";
		// Matcher m = p.matcher(s);
		// p(m.matches());

		// flags的简写
		Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE);
		p("Java".matches("(?i)(java)"));
	}

	public static void p(Object o) {
		System.out.println(o);
	}

}
分享到:
评论

相关推荐

    正则表达式经典实例

    标题中提到的“正则表达式经典实例”,意味着接下来...在学习和应用正则表达式时,最佳实践是多做练习和尝试,因为实际操作有助于加深理解和记忆。随着经验的积累,编写有效和优化的正则表达式将会变得越来越得心应手。

    正则表达式的烦恼

    在线文档和教程(如MDN Web Docs、正则表达式30分钟入门教程等)提供了丰富的学习材料。还有专门的正则表达式库,如PCRE(Perl Compatible Regular Expressions),在特定环境下提供了更强大的功能和更高的性能。 ...

    jsp+正则表达式实用总结

    "regex.bmp"可能是一个示例图,展示了正则表达式的具体应用或者解析过程,而"JSP_note.doc"可能包含更详细的JSP笔记,包括示例代码、常见问题解答和最佳实践。 在实际项目中,JSP与正则表达式的结合可以实现以下...

    SCJP考试资料以及注意事项(附带正则表达式资料))

    学习正则表达式能够提高你的代码效率和质量,因此这份教程是很好的补充学习材料。 总的来说,这个资料包为准备SCJP考试的考生提供了全面的支持,包括了考试大纲、实战题库、陷阱提示以及实用的正则表达式教程。考生...

    perl学习过程中的问题

    在提供的资源中,"正则表达式30分钟入门教程.pdf"和"正则表达式全解.pdf"是很好的学习材料,可以帮助初学者快速掌握正则表达式的基本概念和语法。"VBA编程入门.ppt"和"VBA入门级培训.ppt"虽然不是直接关于Perl,但...

    Java开 发 全 套 API.rar

    4. **正则表达式**:正则表达式是一种强大的文本模式匹配工具,常用于字符串搜索、替换和验证。在Java中,正则表达式通过java.util.regex包来实现,可以帮助开发者高效地处理字符串,例如查找、替换特定模式的文本,...

    Java学习材料(499篇文章)

    "java中使用正则表达式.txt"探讨了Java如何支持和使用正则表达式进行文本处理。正则表达式在数据验证、搜索和替换等场景中非常有用,了解它们可以帮助你编写更强大的字符串处理代码。 "JAVA编程规范.txt"可能包含了...

    电子书 PPT 资料 手册 文档 课件 源码 下载了

    根据描述中的关键词“javascript script 脚本 正则表达式”,我们可以进一步探讨相关知识点: 1. **JavaScript**: - JavaScript是一种广泛应用于网页开发的脚本语言,可以实现动态效果和交互功能。 - 了解...

    词法分析器实验代码和数据

    在词法分析器的设计中,通常会用到正则表达式来定义不同类型的词汇单元,如关键字、标识符、常量、运算符等。例如,我们可能会用正则表达式 `"[a-zA-Z_][a-zA-Z0-9_]*"` 来匹配标识符,`"\d+"` 用于匹配整数常量,`...

    常用API javascript jfeechart MySQL5 服务器推送

    JavaScript是Web开发中不可或缺的一部分,它为网页提供了动态交互的能力。在标题中提到的"常用API"是指JavaScript中经常使用的函数、...对于希望提升Web开发技能的初学者或进阶者来说,这些都是非常有价值的学习材料。

    notepad++源代码

    3. **正则表达式支持**:Notepad++支持强大的正则表达式搜索和替换,学习这部分代码有助于掌握正则表达式的应用和实现。 4. **多语言支持**:Notepad++支持多种语言,研究源码可以了解如何处理字符编码和国际化。 ...

    Perl语言入门(第五版)英文原版

    在“计算机精品学习资料大放送.html”中,可能包含了一些额外的学习资源,比如Perl编程的技巧、最佳实践或者相关网站的链接,这些都可以作为辅助学习材料。而"[大家网]OReilly.Learning.Perl.5th.Edition...

    perl相关书籍

    - **正则表达式**:Perl支持强大的正则表达式,使得处理文本模式匹配和替换变得极其方便。 - **动态类型**:Perl是动态类型语言,变量的数据类型在运行时自动确定,这使得代码更简洁。 - **胶水语言**:Perl可以轻松...

    RESKIT35.rar

    3. **正则表达式**:Perl的正则表达式功能强大且灵活,是其处理文本的一大利器。资源包可能提供了详细的正则表达式教程,帮助开发者熟练掌握这一技能。 4. **脚本实例**:通过实际的脚本示例,开发者可以学习到如何...

    PHP 手册 打包

    4. **字符串与正则表达式**:介绍字符串操作函数,如拼接、查找替换,以及正则表达式的使用方法。 5. **日期与时间**:涵盖日期函数,如获取当前时间、格式化日期、计算时间差等。 6. **文件与目录操作**:如何...

    《IT学习资料2》-java学习笔记.zip

    这个压缩包中包含了多个Markdown格式的文档,每个文档对应一个特定的Java编程主题,是学习和巩固Java知识的理想材料。 1. **正则.md**:正则表达式在Java中扮演着重要的角色,用于处理字符串的匹配和查找。此文档...

    python教程-node-05-文本搜索命令.ev4.rar

    2. **正则表达式(Regex)**:Python的`re`模块提供了强大的文本匹配功能,通过使用正则表达式,可以实现复杂的文本搜索和模式匹配。例如,`re.search()`、`re.findall()`、`re.sub()`等函数。 3. **文件I/O**:...

    Boost程序库完全开发指南

    1. Boost库是一个跨平台的C++库,它提供了大量的模板类和函数,覆盖了字符串处理、正则表达式、数据结构、算法、泛型编程等领域。开发者可以借助Boost库来解决许多常见的编程问题,而无需从头开始编写代码。 2. ...

Global site tag (gtag.js) - Google Analytics