runoob
re.sub例子
re.sub(pattern, repl, string, count=0, flags=0)
re.sub('[^A-Za-z]+', ' ', line).strip().lower()
匹配多个连续的非字母,将它们替换为空格。
连续多个+ 非^ 单个[] 字母A-Z,a-z。
s="thisis()"
s = re.sub('\\(', '', s)
s = re.sub('\\)', '', s) #等价于s = re.sub('\\(|\\)', '', s),因为|表示或;
#等价于s = re.sub('[\\(,\\)]', '', s),因为[]表示一组字符,单独列出:[amk] 匹配 'a','m'或'k'
s = re.sub('\\s{2,}', ' ', s) #有两个(或更多)空字符就转为一个' '空格
re精确匹配n个模式串
[...] |
用来表示一组字符,单独列出:[amk] 匹配 'a','m'或'k' |
[^...] |
不在[]中的字符:[^abc] 匹配除了a,b,c之外的字符。 |
re |
匹配 n 个前面表达式。例如, o{2,} 不能匹配"Bob"中的"o",但能匹配 "foooood"中的所有 o。"o{1,}" 等价于 "o+"。"o{0,}" 则等价于 "o*"。 |
|
|
\s |
匹配任意空白字符,等价于 [ \t\n\r\f]。 |
\S |
匹配任意非空字符 |
[0-9] |
匹配数字 |