正则模块
发布时间:2020-12-14 06:15:29 所属栏目:百科 来源:网络整理
导读:正则模块:re import re print(re.findall(‘w‘,‘egon 123 + _ - *‘)) #w匹配字母数据及下划线 print(re.findall(‘W‘,‘egon 123 + _ - *‘)) #W匹配非字母数据及下划线 print(re.findall(‘s‘,‘egont 12n3 + _ - *‘)) #s匹配任意空白字符,
正则模块:re import re print(re.findall(‘w‘,‘egon 123 + _ - *‘)) #w匹配字母数据及下划线 print(re.findall(‘W‘,‘egon 123 + _ - *‘)) #W匹配非字母数据及下划线 print(re.findall(‘s‘,‘egont 12n3 + _ - *‘)) #s匹配任意空白字符,等价于[fnrt] print(re.findall(‘S‘,‘egon 123 + _ - *‘)) #S匹配任意非空字符 print(re.findall(‘d‘,‘egont 12n3 + _ - *‘)) #d匹配任意数字,等价于[0-9] print(re.findall(‘D‘,‘egont 12n3 + _ - *‘)) #D匹配任意非数字 print(re.findall(‘A‘,‘egont 12n3 + _ - *‘)) #匹配字符串开始 print(re.findall(‘n‘,‘egont 12n3 + _ - *‘)) #匹配一个换行符 print(re.findall(‘t‘,‘egont 12n3 + _ - *‘)) #匹配一个制表符 print(re.findall(‘^e‘,‘egont 12n3 + _ - *‘)) #匹配以什么开头 print(re.findall(‘o$‘,‘egont 12n3 + _ - * foo‘)) #匹配以什么结尾 重复:./?/*/+/.*/*? .代表任意一个字符 print(re.findall(‘e.gon‘,‘egont 12n3 + _ - * foo‘)) print(re.findall(‘e.gon‘,‘egont 12n3 + _ - * foo‘,re.DOTALL)) #DOTALL表示“.”代表所有 ?代表?左边的字符出现0或1次 print(re.findall(‘ab?‘,‘a ab abb abbb a1b‘)) *代表*号左边的字符出现0次或无穷次 print(re.findall(‘ab*‘,‘a ab abb abbb a1b‘)) +代表+号左右的字符出现1次或无穷次 print(re.findall(‘ab*‘,‘a ab abb abbb a1b‘)) {m,n}代表左边的字符出现m到n次 print(re.findall(‘ab{1,2}‘,‘a ab abb abbb a1b‘)) .*贪婪匹配 print(re.findall(‘a.*b‘,‘a ab abb abbb a1b‘)) *?非贪婪匹配 print(re.findall(‘a*?b‘,‘a ab abb abbb a1b‘)) |或者 print(re.findall(‘mysql(*?:e|d)‘,‘aaa mysqle and mysqld‘)) ()匹配括号内的表达式,也表示一个组 rawstring: print(re.findall(r‘ac‘,‘ac alc aBc‘)) #等于 print(re.findall(‘a\c‘,‘ac alc aBc‘)) []代表取中括号内任意的一个字符 print(re.findall(‘a[a-z]‘,‘ac alc aBc a-d zxc aaa‘)) print(re.findall(‘a[0-9]‘,‘ac alc aBc a-d zxc aaa‘)) print(re.findall(‘a[a-z]‘,‘ac alc aBc a-d zxc a+b‘)) print(re.findall(‘a[a-zA-Z]‘,‘ac alc aBc a-d zxc aaa‘)) print(re.findall(‘a[-+*/]‘,‘ac alc aBc a-d z-c a+a‘)) #匹配“-”必须放到两边 [^aa]代表取除了aa的字符串。 re模块的使用方法: re.search #只匹配成功一次,并返回 print(re.search(‘a[a-z]‘,‘ac alc aBc a-d zxc aaa‘).group()) re.match #只从开头匹配 print(re.match(‘a[a-z]‘,‘a2 alc aBc a-d zxc aaa‘).group()) re.split #切分 print(re.split(‘:‘,‘root:x:0:0::/root:/bin:/bash‘)) print(re.split(‘:‘,‘root:x:0:0::/root:/bin:/bash‘,maxsplit=1)) #maxsplit最大切分次数 re.sub #匹配并替换 print(re.sub(‘root‘,‘lzx‘,1)) #1代表替换几次,默认替换所有 print(re.sub(‘([a-z]+)([^a-z]+)(.*?)([^a-z]+)([a-z])$‘,r‘52341‘,‘root:x:0:0::/root:/bin:/bash‘)) #将一个单词和最后一个单词互换位置 re.compile #定义一个正则表达式可以重复使用 obj=re.compile(‘ad{2}b‘) print(obj.findall(‘a12b a123b abbb‘))
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |