Skip to main content

Python 入门基础知识 - 正则表达式 - 基本元字符

Python 入门基础知识 - 正则表达式 - 基本元字符

正则表达式

正则表达式概述

在Python较早版本中使用regex模块来完成正则表达式的操作。在新的版本中已经删除了regex模块。

当前的Python主要使用re模块进行正则表达式的操作。re模块提供了Perl风格的正则表达式。re模块

具有更好的可读性及更强的功能。

基本元字符

元字符是正则表达式中含有的字符。在正则表达式中可以在字符串中使用元字符用以匹配字符串的各种可能的情况

常用的元字符

. 匹配除换行符以外的任何单个字符,如"r.d"会匹配"red","r d"等,但是不会匹配"read"

* 匹配位于*之前的任意个字符,如"r*ed"会匹配"rred","rrred","red"等

+ 匹配位于+之前的任意个字符,如"r+ed"会匹配"rred","rrred"等,但是不会匹配"red"

| 匹配位于|之前或之后的字符,如"red|blue"会匹配"red","blue"

^ 匹配行首

$ 匹配行尾

? 匹配位于?之前的零个或者一个字符,如"r?ed"会匹配"rred","red"等,但是不会匹配"rrred"

\ 表示位于\之后的为转义字符

[] 匹配位于[]中的任何一个字符,如r[ae]d,会匹配"rad","red"

() 将位于内的内容单做一个整体

{} 按{}中的次数进行匹配

元字符还可以配合来使用。

".*" # 可以匹配任意个字符,如"r.*d"会匹配"rd","red","read"等。
".+" # 可以匹配任意的一个或多个字符,如"r.+d"会匹配"red","read",但是不会匹配"rd"。
".?" # 可以匹配任意的零个或一个字符,如果"r.?d"会匹配"rd","red",但不会匹配"read"。
"^" # 匹配行首,对于如下所示的一段文字,"^red"只会匹配下文中的第三个"red"。而对于"red$"则会匹配文中的第二个"red"
a red hat
blue and red
red and blue

在”[]“中还可以使用”-“来表示某一范围。例如在"[]"中,"a-z"表示从"a"到"z"的所有小写字符,同样"A-Z"表示

从"A"到"Z"的所有大写字母,而"0-9"表示从"0"到"9"的数字,"[a-zA-Z0-9]"表示任意的字母或数字。

版权声明

版权声明

durban.zhang 创作并维护的 Walkerfree 博客采用 创作共用保留署名-非商业-禁止演绎4.0国际许可证。本文首发于 Walkerfree 博客(http://www.walkerfree.com/),版权所有,侵权必究。本文永久链接:http://www.walkerfree.com/article/48