使用正则表达式,需要导入re这个模块
1 >>> import re 2 >>> pattern=r'abc' 3 >>> str='abcdefghijabc11111abc' 4 >>> re.findall( pattern, str ) 5 ['abc', 'abc', 'abc'] 6 >>>
r定义正则表达式的规则,这里匹配abc这个字符串
元字符([])匹配一个范围
>>> str="abc afc awc" >>> pattern=r"a[bfw]c" >>> re.findall( pattern, str ) ['abc', 'afc', 'awc'] >>> pattern=r"a[bf]w" >>> re.findall( pattern, str ) [] >>> pattern=r"a[bf]c" >>> re.findall( pattern, str ) ['abc', 'afc'] >>>
^:以...开头,用在中括号里面表示非(取反,或者说排除)
1 >>> import re 2 >>> str="ghostwu:hi my name is ghostwu, nice to meet you!" 3 >>> pattern=r"ghostwu" 4 >>> re.findall( pattern, str ) 5 ['ghostwu', 'ghostwu'] 6 >>> pattern=r"^ghostwu" 7 >>> re.findall( pattern, str ) 8 ['ghostwu'] 9 >>>
1 >>> str="abc" 2 >>> pattern=r"a[b]c" 3 >>> re.findall( pattern, str ) 4 ['abc'] 5 >>> pattern=r"a[^b]c" 6 >>> re.findall( pattern, str ) 7 [] 8 >>>
$:以....结尾
>>> str="ghostwu:hi my name is ghostwu, nice to meet you! Hanmeimei: Hi,ghostwu" >>> pattern=r"ghostwu" >>> re.findall( pattern, str ) ['ghostwu', 'ghostwu', 'ghostwu'] >>> pattern=r"ghostwu$" >>> re.findall( pattern, str ) ['ghostwu'] >>>
$在中括号中被当做普通的字符串匹配
1 >>> pattern=r"a[bcd$]" 2 >>> re.findall( pattern, 'ab' ) 3 ['ab'] 4 >>> re.findall( pattern, 'ac' ) 5 ['ac'] 6 >>> re.findall( pattern, 'ad' ) 7 ['ad'] 8 >>> re.findall( pattern, 'abe' ) 9 ['ab'] 10 >>> re.findall( pattern, 'a$' ) 11 ['a$'] 12 >>>
转义字符
1 >>> str="^ghostwu ^ghostwu ^ghostwu" 2 >>> pattern=r"^ghostwu" 3 >>> re.findall( pattern, str ) 4 [] 5 >>> pattern=r"ghostwu" 6 >>> re.findall( pattern, str ) 7 ['ghostwu', 'ghostwu', 'ghostwu'] 8 >>> pattern=r"^ghostwu" 9 >>> re.findall( pattern, str ) 10 ['^ghostwu', '^ghostwu', '^ghostwu'] 11 >>>