`
appletxx
  • 浏览: 1981 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

正则表达式学习笔记

阅读更多
\d = [0-9]  表示0-9的任意一个数字
\D = [^0-9]  表示除数字之外的任意字符
\w = [0-9a-zA-Z]  表示数字或字母
\W = [^0-9a-zA-Z]  表示除数字或字母外的任意字符
\s 匹配空白字符(回车、换行、制表、空格)
\S 非空白字符

.能匹配所有字符,除换行符\n(但在如下的模式匹配中将可以匹配\n)
\.和[.]匹配点号本身

*  0-无穷
+  1-无穷
?  0-1次
之前的字符可用括号来表示字符数组的多次,如:(ac)+表示出现一个及以上的ac字符串

{min,max}  min-max次   \d{1,3} 匹配1-3个数字
{min,}  min-无穷次      \d{1,} 匹配一个及以上的数字
{number} 只能是number次  \d{3} 匹配3个数字



多选:
(...|...)在竖线两端添加各个字符串表示多选   (ac|ab) 匹配ac或ab

捕获分组:
1、只要使用了括号就存在捕获分组
2、编号按从左至右
3、获取到的值是匹配的最后一个字符串
(?:..)不捕获文本,不是所有语言都支持,不推荐使用

反向引用:
\1  引用括号内出现的内容,数字为括号编号  (ac)\1 匹配acac

锚点:
\b  单词分解符锚点、一侧是单词字符,另一侧是非单子字符
        单词字符通常是指英文字符、数字字符,对中文不适用
        非单词字符通常是指各种标点复和空白字符
^匹配一行的的开头(有可能变化)
$匹配一行的末尾(有可能变化)
\A匹配整个字符串的开头
\Z匹配整个字符串的末尾

环视:
(?=...)   肯定顺序环视  右侧文本能由此表达式匹配
(?!...)   否定顺序环视  右侧文本不能由此表达式匹配
(?<=...)  肯定逆序环视  左侧文本能由此表达式匹配
<?<!...)  否定逆序环视  左侧文本不能由此表达式匹配
注意:
1、环视结构仅用于布尔判断,结构内的子表达式所匹配的文本,不会保存在整个表达式的匹配结果之中
2、逆序环视结构对子表达式存在限制:
        Perl、Python:子表达式必须为固定长度
        PHP、Java:子表达式
可以不定长度,但必须有上限
        .NET:没有任何限制

匹配模式:
I:不区分大小写 Pattern.CASE_INSENSITIVE
S:.可以匹配任何字符 Pattern.DOTALL
M:^$可以匹配字符串中任意起始位置和结束位置 Pattern.MULTILINE
X:可以添加注释(注释以#开头以换行符结束或到表示末尾,此模式会忽略表达式中的所有空白字符) Pattern.COMMENTS

使用多个模式时用|来分隔

作用范围:ismx为模式名,如(?i)AB(?-i)C  (?is)<a href.*</a>
(?ismx)启用模式
(?-ismx)停用模式
模式范围优先级高于外部指定的模式
1
0
分享到:
评论

相关推荐

    正则表达式学习笔记详解!

    ### 正则表达式学习笔记详解 正则表达式(Regular Expression)是一种强大的文本匹配工具,广泛应用于数据处理、文本搜索、格式验证等场景。以下是对给定文件中提到的各种正则表达式的详细解析,旨在帮助读者深入...

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip

    基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码.zip 基于java的开发源码-java多线程反射泛型及正则表达式学习笔记和源码....

    java正则表达式学习笔记

    ### Java正则表达式基础知识与应用 #### 一、引言 正则表达式是一种强大的文本处理工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。Java中的正则表达式支持广泛的标准和特性,是进行文本处理任务的理想...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    关于js正则表达式学习笔记(自己整理的)

    JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...

    正则表达式 学习笔记 30分钟速成

    好东西才与大家分享!这是博客园一位老师的正则表达式教学笔记,很精炼的阐述,看了你一定不后悔……

    正则表达式学习笔记总结

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串中的特定模式。在编程语言中,正则表达式广泛应用于数据验证、文本分析...通过不断的实践和学习,你可以创建更复杂的正则表达式来满足各种需求。

    基于java的开发源码-多线程反射泛型及正则表达式学习笔记和源码.zip

    在"基于java的开发源码-多线程反射泛型及正则表达式学习笔记和源码.zip"这个压缩包中,包含了三个关键的Java编程概念:多线程、反射和泛型,以及正则表达式。下面我们将详细探讨这些知识点。 1. **多线程**:多线程...

    [小小明]Python正则表达式全套笔记v0.3(1.8万字干货)

    本文档是小小明个人笔记,为学习和使用正则表达式提供了一个系统的资源。 Python正则表达式全套笔记v0.3 1.1 作者简介 小小明是数据处理专家,擅长解决各种复杂数据处理问题,并且提供了个人笔记,涵盖了正则...

    正则表达式学习笔记小结分享

    学习正则表达式能够帮助我们更好地处理复杂文本需求,如验证输入信息、查找和替换特定模式的文本,以及在大量日志和数据中提取关键信息。 正则表达式的语法结构通常是用斜杠 `/` 包裹模式,并可以加上可选的修饰符...

    java多线程反射泛型及正则表达式学习笔记和源码.zip

    这个压缩包包含的“java多线程反射泛型及正则表达式学习笔记和源码”正是针对这些关键知识点的学习资料。 首先,我们来详细探讨多线程。在Java中,多线程允许程序同时执行多个不同的任务,提高了程序的并发性和效率...

Global site tag (gtag.js) - Google Analytics