Python正则表达式初识(六)
admin
2023-07-18 22:43:04
0

继续分享Python正则表达式基础,今天给大家分享的正则表达式特殊符号是“[]”。中括号十分实用,其有特殊含义,其代表的意思是中括号中的字符只要满足其中任意一个就可以。其用法一共有三种,分别对其进行具体的代码演示,在最后进行总结,具体的教程如下。

1、如下图所示,匹配模式为[abcd],在这里正则表达式代表的意思是字符串第一个字符是abcd四个字符中的任意一个,然后后面的字符是“cpeng123”,如果满足匹配条件,则输出结果,如果不满足,则不显示任何结果,如下图所示。


Python正则表达式初识(六)


很显然原始字符串的第一个字符是d,和匹配模式相接,所以输出结果。

2、为了更好的加强理解,现在将原始字符串改为“acpeng123”,其他部分不做改动,如下图所示。


Python正则表达式初识(六)


可以看到匹配的结果是“acpeng123”,匹配成功。

3、为进一步理解中括号的意思,现在将原始字符串改为“ecpeng123”,其他部分不做改动,如下图所示。


Python正则表达式初识(六)


此时可以看到没有任何结果输出,因为在中括号中没有对应的匹配字符,满足不了匹配要求,所以无任何输出。

4、看下面一个例子,提取电话号码,这个在实际应用中十分常见。在这里介绍中括号的另外一种表达方式即[0-9],这个特殊字符代表的意思是数字0到9中的任意一个字符。下面的匹配模式'(1[34578][0-9]{9})'代表的意思是字符串以1开头,然后第二个字符为3、4、5、7、8中任意一个,之后的字符是0到9中的数字,但是限定为9次,也就是说电话号码的长度为1+1+9=11位。如果满足上面的匹配要求,就输出成功,否则就不输出任何的字符。


Python正则表达式初识(六)


如上图,很明显原始字符串满足匹配的要求,所以有输出结果。

拓展知识:[a-z]代表26个英文小写字母;[A-Z]代表26个英文大写字母。

5、为了进一步加强理解,将原始字符串改为160开头的号码,然后进行输出,如下图所示。


Python正则表达式初识(六)


可以看到无任何输出结果。

6、中括号的第三章用法是[^],在中括号中加入特殊字符“^”,表示非,取反的意思。举个栗子,“[^1]”的意思是字符不等于1,下图是代码演示。


Python正则表达式初识(六)


可以看到原始字符串与匹配模式'(1[34578][^1]{9})'匹配成功,因为从第二个字符之后,字符串中就没有1出现,符合匹配规则。

即便是原始字符串中出现非数字的字符,只要不是1,也能够匹配成功,如下图所示。


Python正则表达式初识(六)


7、为了加强理解,先将原始字符串中的号码改为‘18042682515’,在字符串后边加个1,然后匹配模式不改变,如下图所示。


Python正则表达式初识(六)


可以看到此时无任何输出结果,因为原始字符串中出现了1,而匹配模式要求不能出现1,所以匹配不成功。

8、最后总结一下特殊字符中括号的用途。一、中括号中的任意一个字符,如[abcd],代表a、b、c、d这四个字符中的任意一个。

二、表示区间,如[0-9],代表数字0到9中的任意一个。同理[a-z],[A-Z],其代表的意思在上面有提及,在此就不再赘述了。

三、表示非或者取反,专有的表达式是[^],如匹配模式[^1]表示匹配的字符不为1。

四、中括号中的“.”,如匹配模式[.]或“*”,如匹配模式[*],就是纯粹的代表“.”号和“*”号,不再是代表特殊字符中代表的任意字符或出现多次的意思,这点需要特别注意。


Python正则表达式初识(六)


中括号在模式匹配的过程中十分常用,希望小伙伴们都能够好好理解和掌握。


相关内容

热门资讯

世界杯看台对900万粉韩博主做... 因在美加墨世界杯赛场看台上对一名韩国博主做出疑似“眯眯眼”的种族歧视动作,墨西哥哈利斯科州测量师与地...
伊朗队在墨西哥的临时大本营:谢... 在墨西哥卡连特体育场(Estadio Caliente)外围的道路上,敞篷巡逻车往来穿梭。车上坐着戴...
伊朗称将就贝鲁特遭袭报复以色列 针对以色列今天(6月14日)再次袭击黎巴嫩首都贝鲁特南郊,伊朗武装部队哈塔姆·安比亚中央司令部副司令...
前脚清查后脚增产,违规电池厂称... 《财经调查》栏目不断接到消费者反映,一些商家为了吸引消费者,谋一己私利,被总台3·15晚会曝光整顿后...
足球成了“人质”?世界杯补水背... 澎湃新闻记者 朱轶世界杯开赛不过3天,关于补水暂停插入电视广告的争议,迅速席卷整个足坛。“足球已经沦...
8死2失踪渔船倾覆事故调查报告... 辽宁省应急管理厅6月14日公布辽宁葫芦岛辽绥渔35261船“10·18”重大倾覆事故调查报告。调查认...
28岁男子去世留40万房贷,银... 近日,岳阳一指定遗产管理人案引发关注:28岁的男子小王(化姓)不幸去世时,其生前49万的房贷未还完。...
胡锡进:我们的血缘联系是真实的... 《给阿嬷的情书》6月18日将在新加坡、马来西亚等地上映。新加坡《联合早报》周五又发了一篇文章,调子很...
“女子家门口遇害案”二审将开庭... 极目新闻记者 谢茂“成都27岁女子遇害案”二审将于6月16日开庭。6月14日,受害者王紫雅母亲王女士...
以军称袭击黎巴嫩首都真主党目标 新华社耶路撒冷6月14日电(记者庞昕熠 王卓伦)以色列国防军14日发表声明称,已对黎巴嫩首都贝鲁特的...