Python14

来源:互联网 发布:诺一网络水军 编辑:程序博客网 时间:2024/04/24 09:55

正则表达式(RE)为高级文本模式匹配,以及搜索-替代等功能提供了基础,RE有字符和特殊符号组成,描述了这些字符和字符的某种重复方式,能按某种模式匹配一个有相似特征的字符串的集合,因此能按某种模式匹配一系列有相似特征的字符串

特殊符号和字符

符号和字符赋予了正则表达式强大的功能和灵活性,下表是常见的符合和字符

符号 说明 举例 literal 匹配字符串的值 foo data1|data2 匹配正则表达式data1或data2 foo|bar . 匹配任何字符(换行符除外) b.b ^ 匹配字符串的开始 ^head $ 匹配字符串的结尾 tail$ * 匹配前面出现的正则表达式零次或多次 [A-Za-z0-9]* + 匹配前面出现的正则表达式一次或多次 [a-z]+.com ? 匹配前面出现的正则表达式零次或一次 goo? {N} 匹配前面出现的正则表达式N次 [0-9]{3} {M,N} 匹配重复出现M次到N次的正则表达式 [0-9]{5,9} […] 匹配字符组里出现的任意一个字符 [aeiou] [..x-y..] 匹配从字符x到y中的任意一个字符 [0-9],[A-Za-z] [^…] 不匹配此字符集中出现的任何一个字符,包括某一范围的字符(如果在此字符集中出现) [^aeiou],[^A-Za-z0-9_] (*|+|?|{})? 用于上面出现的任何“非贪婪”版本重复匹配次数符号(*,+,?,{}) .*?[a-z] (…) 匹配封闭括号中正则表达式,并保存为子组 ([0-9]{3})?,f(oo \d 匹配任何数字,和[0-9]一样(\D是\d的反义:任何非数符字) data\d+.txt \w 匹配任何数字字母字符,和[A-Za-z0-9_]相同(\W是\w的反义) [A-Za-z_]\w+ \s 匹配任何空白符,和[\n\t\r\v\f]相同,(\S是\s的反义) of\sthe \b 匹配单词边界(\B是\b的反义) \bThe\b \nn 匹配已保存的子组 price:\16 \c 逐一匹配特殊字符c(即,取消它的特殊含义,按字面匹配) \.,\,\* \A(\Z) 匹配字符串的起始(结束) \ADear

re模块

常见的正则表达式函数与方法

函数/方法 描述 compile(pattern) 对正则表达式模式pattern进行编译,flags是可选标志符,并返回一个regex对象 match(pattern,string,flags=0) 尝试用正则表达式模式pattern匹配字符串string,flags是可选标志符,如果匹配成功,则返回一个匹配对象,否则返回None search(pattern,string,flags=0) 在字符串string中查找正则表达式模式pattern的第一个出现,flags是可选标志符,如果匹配成功,返回一个匹配对象,否则返回None findall(pattern,string[,flags]) 在字符串string中查找正则表达式模式pattern的所有(非重复)出现;返回一个匹配对象的列表 finditer(pattern,string[,flags]) 和findall()相同,但返回的不是列表而是迭代器,对于每个匹配,该迭代器返回一个匹配对象 split(pattern,string,max=0) 根据正则表达式pattern中的分隔符把字符string分割为一个列表,返回成功匹配的列表,最多分割max次 sub(pattern,repl,string,max=0) 把字符串string中的所有匹配正则表达式pattern的地方替换成字符串repl,如果max么米有给出,则对所有匹配的地方进行替换 group(num=0) 返回全部匹配对象 groups 返回一个包含全部匹配的子组的元组
0 0
原创粉丝点击