正则表达式

4.3 反义字符组:

有的时候,我们需要匹配“除了某些字符以外”的其他字符,这时候,我们可以使用反义字
符组,其语法是:“[^字符集合]”

city.jpg 
city0.jpg 
city1.jpg 
city2.jpg 
city3.jpg 
city4.jpg 
citys.jpg 
cityss.jpg
__________________________
city[^1-3]\.jpg

注意:这里并没有匹配“city.jpg”。因为,不管是 普通字符组 还是 反义字符组,它总
是 确定一定以及肯定 要匹配一个字符的。换言之,在本例的模式中,“city”和“.”之间是
无论如何需要有一个字符的,而“city.jpg”之间没有,所以它不符合此模式。

5.匹配特殊字符

5.1 匹配元字符

我们先对元字符作一个定义:元字前已经介绍过的,“.”就是一个元字符身的时候,需要使用“\”来对它进行转 很容易就看出“\”也是一个元字符候,就需要对它进行转义:“\”。
回想一下之前讲述的字符组,我们“]”字符的时候,需要分别写作:“[ 举个例子,加入我们需要匹配 “CText

City[0].Name = "Xian"; 
City[0]_Name = "Shanghai"; 
City0.Name = "Hangzhou"; 
City0_Name = "Beijing"; 

RegEx

City[0].Name 

Result

City[0].Name = "Xian"; 
City[0]_Name = "Shanghai"; 
City0.Name = "Hangzhou"; 
City0_Name = "Beijing"; 

因为没有对“[”、“]”和“.”进行只有一个字符“0”,所以,它仅能匹配有对“.”进行转义,所以它可以匹配
正确的写法:
Text

City0.Name = "Hangzhou"; 
City0_Name = "Beijing"; 

RegEx

City\[0\]\.Name 

Result

City[0].Name = "Xian"; 

5.2 匹配空字符

在正则表达式中,比较常用的三类空白字符如下表所示:
元字符 匹配描述

\r 回车 
\n 换行 
\t Tab 键

5.3.1 匹配数字类型

元字符 匹配描述
\d 所有单个数字,与 [0-9] 相同
\D 所有非数字,与 [^0-9] 相同
Text

City[0].Name = "Xian"; 
City[1].Name = "Shanghai"; 
City[a].Name = "Beijing"; 

RegEx

City\[\d\]\.Name 

Result

City[0].Name = "Xian"; 
City[1].Name = "Shanghai"; 
City[a].Name = "Beijing"; 

NOTE:不管 Ignore Case 是否设置为 True,在这种情况下,“\d”与“\D”总是区分大小
写的,下面将介绍的也是一样。

5.3.2 匹配字母、数字、下划线

不管是在程序命名中,还是文件命名中,这一类字符字母、数字 以及 下划线,其正则表达式为“[a-zA-Z0-正则表达式中可以使用“\w ”来代表这一匹配;类所有不属于这一字符集的其他字符:“[^a-zA-Z0-9_]”。 元字符 匹配描述
\w 所有单个大小写字母、数字、下\W 所有单个非大小写字母、非数字
Text

abcde 
12345 
a1b2c 
abcd 
1234 

RegEx

\w\d\w\d\w 

Result

abcde 
12345
a1b2c
abcd 
1234

5.3.3 匹配空字符

最后一种就是匹配空字符了,其语法如下表所示:
元字符 匹配描述
\s 所有单个空字符,与 [\f\n\r\t\v] 相同
\S 所有单个非空字符,与 [^\f\n\r\t\v] 相同

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容