通配符:
* 任意长度的任意字符
? 任意一个字符
----------------------------------------------------------------------------
元字符:
\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次以上,但尽可能少重复 |
相关推荐
《正则表达式入门经典》详细解释了正则表达式的各个组成部分、这些组成部分的含义、如何使用它们,以及在编写正则表达式时如何避免常见的错误。正则表达式能够帮助用户和开发人员更加有效地查找和操纵文本内容。而且...
[正则表达式入门经典].(美)瓦特.扫描版[正则表达式入门经典].(美)瓦特.扫描版
正则表达式能够帮助用户和开发人员更加有效地查找和操纵文本内容。而且,正则表达式已经得到了许多脚本语言、编程语言和数据库的良好支持。这本示例丰富的教程将打破所谓正则表达式难以掌握的传统神话。本书详细解释...
正则表达式入门经典.(美)瓦特.扫描版.pdf 经典书籍
正则表达式入门教程,常用正则表达式写法和应用
正则表达式入门与提高 讲解正则表达式在VBA中的具体示例应用
javascript正则表达式入门学习实例入门
Java正则表达式入门介绍.ppt,介绍常用语法规则及使用方式等
正则表达式入门经典 带书签正则表达式入门经典
本资源为正则表达式入门,介绍利用正则表达式编程!
正则表达式入门教程(pdf版,日常所能用到的一些正则表达式,还有一些学习正则表达式的方法等
正则表达式语法,句例,口诀,使用详解,教程等等内容
《学习正则表达式》从正则表达式的基本概念讲...此外,书中各在线和桌面工具一应俱全,并介绍了进阶参考资料,是一本不可多得的正则表达式入门好书。《学习正则表达式》适合对正则表达式感兴趣的程序员和互联网从业者。
正物色一本学习正则表达式的入门图书?恭喜,《学习正则表达式》非常适合你!本书提供大量经典简洁的示例,从零开始教你逐步掌握正则表达式。通过匹配特定单词、字符和模式,读者很快就可以自己动手使用正则表达式...
正则表达式入门。写的很浅显易懂,推荐一读
正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht 正则表达式入门教程——正则表达式30分钟入门教程.mht
Java正则表达式入门介绍课件;Java正则表达式入门介绍课件
正则表达式入门与提高 正则表达式是程序设计和文本处理中的一种强大的工具,它可以帮助开发者快速地匹配、查找和处理文本数据。在本文中,我们将从基础开始,详细介绍正则表达式的概念、组成单元、基本思路和实现...
整理的网上一篇VBA正则式方面的文章