模块与包

正则模块

import re
print(re.findall('w','as213df_*|'))
print(re.findall('W','as213df_*|'))

print(re.findall('awb','a_b a3b aEb a*b'))

print(re.findall('s','a b c d'))
print(re.findall('S','a b c d'))

print(re.findall('d','a123bcdef'))
print(re.findall('D','a123bcdef'))


print(re.findall(' ','a123 bcdef'))
print(re.findall(' ','a123 bc d ef'))

print(re.findall('^h','hello egon hao123'))
print(re.findall('^h','ello egon hao123'))

print(re.findall('3$','e3ll3o e3gon hao123'))
print(re.findall('3$','e3ll3o e3gon hao123asdf'))

print(re.findall('a.c','abc a1c a*c a|c abd aed ac'))

print(re.findall('a.c','abc a1c a*c a|c abd aed a c',re.S)) #让点能够匹配到换行符
print(re.findall('a[1,2 ]c','a2c a,c abc a1c a*c a|c abd aed a c'))
print(re.findall('a[0-9]c','a2c a,c abc a1c a*c a|c abd aed a c'))
print(re.findall('a[0-9a-zA-Z*-]c','a1c abc a*c a-c aEc'))


print(re.findall('a[^0-9]c','a1c abc a*c a-c aEc'))

* + ? {n,m} #重复

ab* a ab abbbbbbbbbbbbbbbbbbbbbbbbbbb
print(re.findall('ab*','a'))
print(re.findall('ab*','abbbbbb'))
print(re.findall('ab*','bbbbbb'))


print(re.findall('ab+','a'))
print(re.findall('ab+','abbbbbb'))
print(re.findall('ab+','bbbbbb'))


ab[123] ab1 ab2 ab3
print(re.findall('ab[123]','abbbbb123'))
print(re.findall('ab[123]','ab1 ab2 ab3 abc1'))

ab[123] ab1+ ab2+ ab3+
print(re.findall('ab[123]+','ab11111111 ab2 ab3 abc1'))

ab[123] ab[123][123][123]
print(re.findall('ab[123]+','ab1 ab2 ab3 ab4 ab122'))

abbb
print(re.findall('ab{3}','ab1 abbbbbbbb2 abbbbb3 ab4 ab122'))
print(re.findall('ab{3,4}','ab1 abbb123 abbbb123 abbbbbt'))

print(re.findall('ab{3,}','ab1 abbb123 abbbb123 abbbbbt'))
print(re.findall('ab{0,}','a123123123 ab1 abbb123 abbbb123 abbbbbt'))
print(re.findall('ab{1,}','a123123123 ab1 abbb123 abbbb123 abbbbbt'))


ac abc
print(re.findall('ab?c','ac abc aec a1c'))


.* 贪婪匹配
print(re.findall('a.*c','ac abc aec a1c'))

.*? 非贪婪匹配
print(re.findall('a.*?c','ac abc aec a1c'))
print(re.findall('a.*?c','ac abc a111111111c a c a1c',re.S))

print(re.findall('compan(?:y|ies)',
'Too many companies have gone bankrupt, and the next one is my company'))


print(re.findall('ab+123','ababab123'))
print(re.findall('(?:ab)+123','ababab123'))


print(re.findall(r'a\c','ac')) #r代表告诉解释器使用rawstring,即原生字符串,把我们正则内的所有符号都当普通字符处理,不要转义
# print(re.findall('a\\c','ac')) #r代表告诉解释器使用rawstring,即原生字符串,把我们正则内的所有符号都当普通字符处理,不要转义

# print(re.findall(r'a\c','ac')) #r代表告诉解释器使用rawstring,即原生字符串,把我们正则内的所有符号都当普通字符处理,不要转义
# print(re.findall('a\\c','ac')) #同上面的意思一样,和上面的结果一样都是['a\c']

原文地址:https://www.cnblogs.com/geek-ace/p/6936591.html