通配符:
* 任意长度的任意字符
? 任意一个字符
----------------------------------------------------------------------------
元字符:
\b 英语单词中间的间隔符,代表一个位置,不代表几个字符(可能是若干空格,标点,也可能没东西)
^ 断言行首的位置
$ 断言行末的位置
. 除了换行符以外的任意长度的任意字符
\d 一个数字
\s 一个空白符(空格,Tab,Enter)
\w 一个char(中文,字母,数字,下划线)
PS:查找元字符需要转义,即加在字符前面加一个\
----------------------------------------------------------------------------
限定符:
? 该符号之前的那个符号可能重复若0次或一次
* 该符号之前的那个符号可能重复若干次(可以没有)
+ 该符号之前的那个符号可能重复若干次(至少一次)
{n} 该符号之前的那个符号可能重复n次
{n,m} 该符号之前的那个符号可能重复n到m次
----------------------------------------------------------------------------
字符类:
[ ] 代表了一个方括号内枚举到的字符,共有如[abcd]或[a-d]或者[a-de-gf-j]等三种枚举方式
----------------------------------------------------------------------------
分支条件:
| 该符号前后有两种选择,满足任何一种即可
----------------------------------------------------------------------------
分组:
() 该符号括起来的内容作为一个整体,可以视为一个符号
(exp) | 匹配exp,并捕获文本到自动命名的组里 |
(?<name>exp) | 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp) |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 |
(?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 |
(?!exp) | 匹配后面跟的不是exp的位置 |
(?<!exp) | 匹配前面不是exp的位置 |
(?#comment) | 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读 |
此外,[abc]等价于(a|b|c)
----------------------------------------------------------------------------
反义:
\W | 匹配任意不是字母,数字,下划线,汉字的字符 |
\S | 匹配任意不是空白符的字符 |
\D | 匹配任意非数字的字符 |
\B | 匹配不是单词开头或结束的位置 |
[^x] | 匹配除了x以外的任意字符 |
[^aeiou] | 匹配除了aeiou这几个字母以外的任意字符 |
----------------------------------------------------------------------------
后向引用:
\n 从最前面开始数,第n个()已经匹配到的内容。
----------------------------------------------------------------------------
零宽断言:
(?=exp) 先行断言:这个括号表达式后面的内容前面必须满足exp,放在需要断言的单元后面
(?<=exp) 后发断言:这个括号表达式前面的内容前面必须满足exp,放在需要断言的单元前面
负向零宽断言:
(?!exp) 先行断言:这个括号表达式后面的内容前面必须不满足exp,放在需要断言的单元后面
(?<!exp) 后发断言:这个括号表达式前面的内容前面必须不满足exp,放在需要断言的单元前面
----------------------------------------------------------------------------
注释:
(?#comment) 表达式中可以插入上述格式的注释
PS:忽略模式中的空白符后,可以直接用#做注释,功能类似//
----------------------------------------------------------------------------
贪婪和懒惰
*? | 重复任意次,但尽可能少重复 |
+? | 重复1次或更多次,但尽可能少重复 |
?? | 重复0次或1次,但尽可能少重复 |
{n,m}? | 重复n到m次,但尽可能少重复 |
{n,}? | 重复n次以上,但尽可能少重复 |
相关推荐
正则表达式是一种强大的文本处理工具,用于在字符串中...而这份"正则表达式入门与提高---整理版"文档将是你学习正则表达式的好帮手,它涵盖了基础概念、常用模式以及实例解析,是深入理解和运用正则表达式的好资源。
本资源"正则表达式入门经典"是由(美)瓦特编著的扫描版,旨在帮助初学者快速掌握这一技术。 正则表达式的基本概念: 1. **元字符**:如`.`, `*`, `+`, `?`, `{}`, `[]`, `\`, `^`, `$`等,它们具有特殊含义,用来...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。它在各种编程语言和脚本环境...在"正则表达式入门与提高.doc"文档中,你将找到更多实例和详细解释,帮助你深入理解并熟练运用正则表达式。
正则表达式入门经典.(美)瓦特.扫描版.pdf 经典书籍
《正则表达式入门经典》由美国作家Andrew Watt所著,这本书为初学者提供了全面而详细的正则表达式知识,通过书签版的设置,方便读者快速定位和复习关键概念。 正则表达式的基本结构包括字符、元字符和量词。字符是...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和解析字符串。它通过一套特定的语法,能够描述复杂的模式,从而在大量文本中快速定位特定的字符串序列。正则表达式通常在编程语言、文本编辑器和搜索引擎...
本资源“正则表达式入门经典”是一本旨在帮助初学者掌握这一强大工具的书籍,通过学习,你可以更好地理解和运用正则表达式。 在编程和数据处理领域,正则表达式扮演着至关重要的角色。它是一种特殊的字符序列,可以...
在"正则表达式入门.doc"文档中,你将学习到正则表达式的基础知识,包括基本元字符、修饰符、预定义字符类以及更高级的构造。 1. **基本元字符**:正则表达式中最基础的是元字符,它们具有特殊含义,如`.`代表任意...
"正则表达式入门30分钟"这个教程可能是为了快速介绍正则表达式的基本概念和常用语法,帮助初学者快速掌握这一强大的工具。下面是一些正则表达式的核心概念和常见用法: 1. **基础元素**: - **字符匹配**:例如,`...
这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和普通字符组成,用于描述文本模式。 - **创建方式**:可以使用`/pattern/flags`或`...
正则表达式是一种特殊的文本模式,用于在字符串中查找和匹配符合特定规则的子串。它是文本处理不可或缺的工具之一,广泛应用于编程语言、文本编辑器、搜索引擎以及各种编程和脚本语言中。正则表达式的能力远超简单的...
这两本入门教程,"正则表达式教程.chm" 和 "正则表达式入门教程.doc",将帮助初学者快速掌握这一技术。 首先,我们来看"正则表达式教程.chm"可能涵盖的内容。CHM是Microsoft的 Compiled HTML Help 文件,通常包含一...
正则表达式(Regular Expression)是一种强大的文本处理工具,它是一种模式匹配语言,用于在文本中查找、替换或提取符合特定规则的字符串。在多种编程语言中,如Perl、Java、JavaScript、C#、PHP、Python、Ruby、Tcl、...
正则表达式语法,句例,口诀,使用详解,教程等等内容
正物色一本学习正则表达式的入门图书?恭喜,《学习正则表达式》非常适合你!本书提供大量经典简洁的示例,从零开始教你逐步掌握正则表达式。通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式...
正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht