`

java正则表达式学习心得

阅读更多

前段时间做些小东西的时候遇到字符串提取处理,感觉写起来非常费力,于是再次温习了正则表达式内容,在原来模糊的基础上学习了许多:

基础的比如:

 

\ 的作用匹配字符,如需要匹配反斜线则为:("\\".matches("\\\\"),注意因为程序把反斜线作为转义字符需要再次转义为反斜线。

 

[] 的作用是匹配每个特定范围的单个字符,其中&&表示交集^表示非该范围字符

如:"y".matches("[a-z&&[^stz]]"    //表示在a-z并除去stz的范围。

       【a-q【q-z】】表示是a-q或q-z范围。

 

 

预定义字符类
. 任何字符(与行结束符可能匹配也可能不匹配)
\d 数字:[0-9]
\D 非数字: [^0-9]
\s 空白字符:[ \t\n\x0B\f\r]
\S 非空白字符:[^\s]
\w 单词字符:[a-zA-Z_0-9]
\W

非单词字符:[^\w]

 

 

 

 

 

 

{ m,n} 作用是限定前面内容的次数范围

如:"211525".matches("\\d{3,10}") //表示匹配数字个数在3到10的字符串。

 

? *  + 的作用是限定次数,?表示一次或一次也没有,*表零次或多次,+一次或多次。

 

Greedy 数量词

默认模式,先吞掉最多个数字符,然后判断匹配,然后再依次吐出一个字符来匹配,直到没有。

 

 

Reluctant (不情愿的)数量词?

再改模式下,先吞掉最少限制数量字符个数的字符,然后判断匹配,然后再依次吞一个字符,直到匹配成功或都匹配不到。

 

Possessive 数量词+

独占式,吞了不往外吐,也不查找子串的匹配是否。

 

大家需要根据需求自由选择不同模式。

  • 大小: 123 KB
分享到:
评论

相关推荐

    正则表达式全解及正则表达式学习心得

    正则表达式全解及正则表达式学习心得 正则表达式是字符串模式匹配的强大工具,掌握正则表达式可以让开发者更方便地处理字符串数据。本文将对正则表达式的基本概念、元字符、模式匹配、量词、分组、字符类、边界匹配...

    java正则表达式

    java正则表达式的学习教程以及心得体验

    JavaCC学习心得

    四种形式的产物中,java 代码产物和 BNF 范式产物用于定义语法,正则表达式产物用于描述正则表达式,在词法分析中起到重要作用。符号管理器声明用于导入已被加入符号管理器的代码的声明。 词法分析: 1.2.1 正则...

    JAVA课程设计报告 心得体会——计算器、文本编辑器.doc

    此外,为了实现文本编辑器的查找替换功能,我们使用了字符串处理方法,如indexOf()和substring(),以及正则表达式的运用,这让我对JAVA字符串操作和正则表达式的强大功能有了更深的体会。同时,为了提供良好的用户...

    Java学习材料(499篇文章)

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

    开发人员一定要加入收藏夹的网站

    RexV.org利用Ajax技术开发了一个在线正则表达式验证器,让开发者能够即时测试和调试正则表达式,大大提高了开发效率。对于需要频繁处理文本匹配和替换任务的开发者来说,这是一个非常实用的工具。 ### 代码搜索引擎...

    javacc 学习心得

    - **正则表达式产物**:用于词法分析,描述正则表达式。 - **符号管理器声明**:导入已被加入符号管理器的代码声明。 #### 三、词法分析 **1.2.1 正则表达式产物** - **格式**:`词法状态列表 正则式类型 [IGNORE...

    ACM java编程感悟

    总之,ACM竞赛中的Java编程需要对语言特性有深入的理解,包括但不限于数据结构的使用、大数运算、输入输出机制以及字符串和正则表达式的处理。通过熟练掌握这些知识点,参赛者可以更有效地解决问题,提高代码质量和...

    java组件使用心得(实用)

    `Pattern`和`Matcher`是Java中处理正则表达式的核心类。下面是一个简单示例: ```java Pattern p = Pattern.compile("java", Pattern.CASE_INSENSITIVE); // 忽略大小写 Matcher m = p.matcher(inputString); if (m...

    Java写的cmm词法分析器(源代码)及javacc学习心得文档

    1. **词法规则定义**:通常使用正则表达式来定义不同的标记类型。例如,标识符、关键字、数字、运算符等,每种类型都有其对应的模式。 2. **扫描器(Scanner)**:这是实际执行词法分析的类,它会遍历输入字符流,...

    preg_match_all使用心得分享

    preg_match_all — 进行全局正则表达式匹配 说明 复制代码 代码如下:int preg_match_all ( string pattern, string subject, array matches [, int flags] ) 在 subject 中搜索所有与 pattern 给出的正则表达式匹配...

    批量修改器 Java 源程序 课程设计报告

    - **文本搜索**:允许用户输入关键词或正则表达式,快速查找文本文件中包含该关键词或符合正则表达式的行。 - **预览功能**:在修改前,提供预览界面,展示即将被修改的文本,让用户确认修改内容。 - **批量替换**:...

    计算机程序编译原理学习心得_(2).docx

    此外,正则表达式的处理、代码生成自动化等也与编译原理密切相关。 通过实际的课程设计,学习者能更深入地理解编译程序的构造过程,包括词法分析、语法分析、语义分析和代码生成等阶段。同时,这也能激发学习兴趣,...

    java学生信息管理模块

    对用户的输入,例如:学号、姓名、性别、年龄都进行的正则表达式匹配。对于要修改学生的信息,采用简单的Json格式处理,自定义处理此格式(通过检索字符串,截取输入的要修改的信息。)。满足对非法信息的重新录入,...

    QTP大全-本人精心收集

    3. **QTP正则表达式.doc**:正则表达式在QTP中用于数据验证和字符串处理,文档可能详细介绍了如何在QTP中使用正则表达式进行复杂的数据匹配。 4. **QTP_EXAM.doc**:可能是QTP的考试复习资料,涵盖了QTP的重要概念、...

    java实验一报告格式.doc

    这涉及到字符串处理,可能使用了正则表达式来识别句点、感叹号和问号作为句子的结束标志,以及空格作为单词分隔符。 5. **运行结果与测试分析**:实验报告中给出了两个实验的运行结果,验证了程序的正确性。实验一...

    《Python核心编程》读书笔记

    Python的设计简洁而强大,拥有丰富的标准库,支持正则表达式,提供系统调用接口,支持多线程,具有垃圾回收机制,支持交互式编程和多种编程范式。Python的语法允许程序员用更少的代码行表达概念,其代码密度可以是...

    Oracle_java_jsp

    2. “CSDN--find与grep命令简介及正则表达式.mht”涉及到Linux系统的文件搜索和文本处理工具,这对于在服务器端进行日志分析和问题定位非常有用。 3. “Javascript5[1].5.chm”涵盖了JavaScript编程,它是实现JSP...

Global site tag (gtag.js) - Google Analytics