In [2]: re.findall(r'\w+', 're: Regular expression operations')
Out[2]: ['re', 'Regular', 'expression', 'operations']
In [3]: re.findall(r'(\w+)', 're: Regular expression operations')
Out[3]: ['re', 'Regular', 'expression', 'operations']
In [5]: re.findall(r'(\w+).(\w+)', 're: Regular expression operations')
Out[5]: [('Regular', 'expression'), ('operatio', 's')]
finditer(pattern, string, [,flags])与 findall
相同, 只不过返回的是一个 迭代器, 而不是 列表.
split(pattern, string, max=0)
参考 sstr.split
, 作用是类似的。 只不过分割字符串的参考依据由单个字符变为了 匹配模式.
可以通过 max
指定最大分割次数:
In [13]: re.split(r'\w\s\w', 'Hello World !')
Out[13]: ['Hell', 'orld !']
sub(pattern, repl, string, count=0)
使用 repl
替换 string
中出现的和 pattern
相匹配的字符串, 通过 count
指定替换次数, 默认为替换所有。
注: repl
中可以使用 回溯引用.
In [18]: re.sub(r'\w+?(T)\w', r'\1', 'asdTgdfTdgfhTdsfgTf')
Out[18]: 'TTTT'