re库 正则表达式替换和匹配

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] 匹配数字
posted @ 2021-08-23 16:45  zae  阅读(308)  评论(0编辑  收藏  举报