Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux / Python的正则表达式

1、正则表达式语法 正则表达式可以指定一个模式,来匹配对应的字符串。 特殊字符要么表示某个类别的普通字符,要么影响它们周围的正则表达式如何解释。正则表达式的模式字符串不可以包含空字节,但可以使用 umber符号指定空字节,例如"x00"。 特殊字符有: ”." 在默认模式下,匹配除换行以外的任意字符。如果 re.DOTALL 标志被指定,则匹配换行符在内的任意字符。 “^"在默认模式下,匹配字符串的起始位置。在 re.MULTILINE 标志被指定,也匹配换行符之后的字符。如正则表达式"^py"匹配字符串‘py88py’只能得到一个"py" “$”在默认模式下,匹配字符串的末尾。在 re.MULTILINE 标志被指定,也匹配换行符之前的位置。 “*”匹配零次或多次前导的模式字符串,尽可能多的匹配。      ‘ab*’可以匹配‘a" "ab" "abb……(尽可能多匹配)" “+”匹配一个或多个前导的模式字符串,尽可能多的匹配。      ’ab+’可以匹配‘ab’ "abbb……"尽可能多 “?”匹配零个个或多个前导的模式字符串。                       ‘ab?’可以匹配‘a’  "ab" “*?”“+?”“??”限定符是贪婪的,它们匹配尽可能多的文本。在限定符之后加上?将使得匹配以非贪婪或最小的方式进行。 “{m}”表示精确匹配前面的正则表达式m个拷贝,较少的匹配将导致整个表达式不能匹配。例如,a{6}将精确匹配6个‘a’字符,否则将不能匹配。 "{m,n}"生成的正则表达式匹配前导正则表达式的m到n个重复,尝试匹配尽可能多的重复。例如,a{3,5}将匹配3到5个字符a.省略m表示下界为0,省略n表示上界无穷大。 “{m,n}?” 对于6个字符的字符串"aaaaaa",a{3,5}将匹配5个a,a{3,5}?将匹配3个a。 “” 对任意特殊字符进行转义,允许匹配字符‘*’  "?" 等 “[]” 用来表示一个字符的集合,在一个集合中:• 字符可以一个一个列出来,例如[amk]可以匹配字符 ‘a’ "m"  "k"• 通过给出的两个字符并用‘-’分隔,可以给出一段范围的字符,例如‘[a-z]’将匹配‘a’到"z"的任意一个字符。如果‘-’被转义,或是‘a-’或‘-a’ 将匹配单一的‘-’字符• 在集合内部,特殊字符将失去他们的特殊含义。例如,[(*+]将匹配字符字面值 ‘(’  "*"  "+"• 在集合中还接受字符类别,例如w或s,尽管他们匹配的字符取决于  re.LOCAL 或者 re.UNICODE模式是否强制。• 不再一段范围内的字符可以通过补集匹配。如果集合的第一个字符是‘^’,那么所有不在集合中的字符将被匹配。如果‘^’不是集合中的第一个字符则没有特殊含义。• 若要匹配字符‘]’,可以在它前面放一个反斜线或者将它放在集合的开始。 “|” A|B,此处的A和B可以是任意的正则表达式,创建的这个正则表达式要么匹配A,要么匹配B,‘|’可以用来隔开任意个数的正则表达式。2、re模块的内容 re模块定义了几个函数、常量和异常。 re.compile(pattern,flag=0)  将正则表达式模式编译成一个正则表达式对象,它可以使用match()和search()方法来进行匹配Linux 基础入门教程----正则表达式基础   http://www.linuxidc.com/Linux/2015-08/121441.htmLinux正则表达式sed 详述  http://www.linuxidc.com/Linux/2015-04/116309.htmLinux正则表达式特性及BRE与ERE的区别 http://www.linuxidc.com/Linux/2014-03/99152.htmgrep使用简明及正则表达式 http://www.linuxidc.com/Linux/2013-08/88534.htm正则表达式的用法 http://www.linuxidc.com/Linux/2013-03/81897.htm正则表达式之零宽断言 http://www.linuxidc.com/Linux/2013-03/81897.htmLinux中正则表达式与文件格式化处理命令(awk/grep/sed) http://www.linuxidc.com/Linux/2013-03/81018.htm基础正则表达式 http://www.linuxidc.com/Linux/2014-09/106296.htm常用正则表达式整理 http://www.linuxidc.com/Linux/2014-10/108076.htm本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-03/129459.htm