`

正则表达式入门

 
阅读更多

通配符:

*         任意长度的任意字符

?       任意一个字符

----------------------------------------------------------------------------

元字符:

\b        英语单词中间的间隔符,代表一个位置,不代表几个字符(可能是若干空格,标点,也可能没东西)

^         断言行首的位置

$         断言行末的位置

.           除了换行符以外的任意长度的任意字符

 

\d          一个数字

\s          一个空白符(空格,Tab,Enter)

\w         一个char(中文,字母,数字,下划线)

PS:查找元字符需要转义,即加在字符前面加一个\

----------------------------------------------------------------------------

限定符:

?         该符号之前的那个符号可能重复若0次或一次

*           该符号之前的那个符号可能重复若干次(可以没有)

+           该符号之前的那个符号可能重复若干次(至少一次)

{n}         该符号之前的那个符号可能重复n次

{n,m}     该符号之前的那个符号可能重复n到m次

----------------------------------------------------------------------------

字符类:

[    ]        代表了一个方括号内枚举到的字符,共有如[abcd]或[a-d]或者[a-de-gf-j]等三种枚举方式

----------------------------------------------------------------------------

分支条件:

 |            该符号前后有两种选择,满足任何一种即可

----------------------------------------------------------------------------

分组:

()      该符号括起来的内容作为一个整体,可以视为一个符号

 

表4.常用分组语法 分类 代码/语法 说明 捕获 零宽断言 注释
(exp) 匹配exp,并捕获文本到自动命名的组里
(?<name>exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?'name'exp)
(?:exp) 匹配exp,不捕获匹配的文本,也不给此分组分配组号
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(?<!exp) 匹配前面不是exp的位置
(?#comment) 这种类型的分组不对正则表达式的处理产生任何影响,用于提供注释让人阅读

          此外,[abc]等价于(a|b|c)

----------------------------------------------------------------------------

反义:

表3.常用的反义代码 代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

----------------------------------------------------------------------------

后向引用:

\n          从最前面开始数,第n个()已经匹配到的内容。

 

 ----------------------------------------------------------------------------

零宽断言:

(?=exp)      先行断言:这个括号表达式后面的内容前面必须满足exp,放在需要断言的单元后面

(?<=exp)      后发断言:这个括号表达式前面的内容前面必须满足exp,放在需要断言的单元前面

负向零宽断言:

(?!exp)      先行断言:这个括号表达式后面的内容前面必须不满足exp,放在需要断言的单元后面

 

(?<!exp)      后发断言:这个括号表达式前面的内容前面必须不满足exp,放在需要断言的单元前面

 

 ----------------------------------------------------------------------------

注释:

(?#comment)    表达式中可以插入上述格式的注释

PS:忽略模式中的空白符后,可以直接用#做注释,功能类似//

  ----------------------------------------------------------------------------

贪婪和懒惰

 

 

表5.懒惰限定符 代码/语法 说明
*? 重复任意次,但尽可能少重复
+? 重复1次或更多次,但尽可能少重复
?? 重复0次或1次,但尽可能少重复
{n,m}? 重复n到m次,但尽可能少重复
{n,}? 重复n次以上,但尽可能少重复

 

 

 

 

 

分享到:
评论

相关推荐

    正则表达式入门与提高---整理版_VBa_正则式_

    正则表达式是一种强大的文本处理工具,用于在字符串中...而这份"正则表达式入门与提高---整理版"文档将是你学习正则表达式的好帮手,它涵盖了基础概念、常用模式以及实例解析,是深入理解和运用正则表达式的好资源。

    正则表达式入门经典

    本资源"正则表达式入门经典"是由(美)瓦特编著的扫描版,旨在帮助初学者快速掌握这一技术。 正则表达式的基本概念: 1. **元字符**:如`.`, `*`, `+`, `?`, `{}`, `[]`, `\`, `^`, `$`等,它们具有特殊含义,用来...

    正则表达式入门与提高

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和提取字符串模式。它在各种编程语言和脚本环境...在"正则表达式入门与提高.doc"文档中,你将找到更多实例和详细解释,帮助你深入理解并熟练运用正则表达式。

    正则表达式入门经典.(美)瓦特.扫描版.pdf

    正则表达式入门经典.(美)瓦特.扫描版.pdf 经典书籍

    正则表达式入门经典(书签版)美.瓦特

    《正则表达式入门经典》由美国作家Andrew Watt所著,这本书为初学者提供了全面而详细的正则表达式知识,通过书签版的设置,方便读者快速定位和复习关键概念。 正则表达式的基本结构包括字符、元字符和量词。字符是...

    正则表达式入门教程。

    正则表达式是一种强大的文本处理工具,用于匹配、查找、替换和解析字符串。它通过一套特定的语法,能够描述复杂的模式,从而在大量文本中快速定位特定的字符串序列。正则表达式通常在编程语言、文本编辑器和搜索引擎...

    正则表达式入门经典 带书签

    本资源“正则表达式入门经典”是一本旨在帮助初学者掌握这一强大工具的书籍,通过学习,你可以更好地理解和运用正则表达式。 在编程和数据处理领域,正则表达式扮演着至关重要的角色。它是一种特殊的字符序列,可以...

    正则表达式入门.doc

    在"正则表达式入门.doc"文档中,你将学习到正则表达式的基础知识,包括基本元字符、修饰符、预定义字符类以及更高级的构造。 1. **基本元字符**:正则表达式中最基础的是元字符,它们具有特殊含义,如`.`代表任意...

    正则表达式入门30分钟

    "正则表达式入门30分钟"这个教程可能是为了快速介绍正则表达式的基本概念和常用语法,帮助初学者快速掌握这一强大的工具。下面是一些正则表达式的核心概念和常见用法: 1. **基础元素**: - **字符匹配**:例如,`...

    JS正则表达式入门笔记实例

    这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和普通字符组成,用于描述文本模式。 - **创建方式**:可以使用`/pattern/flags`或`...

    正则表达式入门教程(pdf版

    正则表达式是一种特殊的文本模式,用于在字符串中查找和匹配符合特定规则的子串。它是文本处理不可或缺的工具之一,广泛应用于编程语言、文本编辑器、搜索引擎以及各种编程和脚本语言中。正则表达式的能力远超简单的...

    两本正则表达式入门教程

    这两本入门教程,"正则表达式教程.chm" 和 "正则表达式入门教程.doc",将帮助初学者快速掌握这一技术。 首先,我们来看"正则表达式教程.chm"可能涵盖的内容。CHM是Microsoft的 Compiled HTML Help 文件,通常包含一...

    正则表达式入门指导.ppt

    正则表达式(Regular Expression)是一种强大的文本处理工具,它是一种模式匹配语言,用于在文本中查找、替换或提取符合特定规则的字符串。在多种编程语言中,如Perl、Java、JavaScript、C#、PHP、Python、Ruby、Tcl、...

    正则表达式入门整理chm

    正则表达式语法,句例,口诀,使用详解,教程等等内容

    《学习正则表达式》高清扫描版 PDF

    正物色一本学习正则表达式的入门图书?恭喜,《学习正则表达式》非常适合你!本书提供大量经典简洁的示例,从零开始教你逐步掌握正则表达式。通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式...

    正则表达式入门教程——30分钟入门

    正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht

Global site tag (gtag.js) - Google Analytics