标签:多个 数字 列表 nbsp 字符列表 str 正则表达 findall \n
import re # \w 匹配所有字母、数字、下划线 re.findall(‘\w‘,‘abcd_123 *-‘) # 结果为:[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘_‘, ‘1‘, ‘2‘, ‘3‘] # \s 匹配所有不可见字符 # 不可见字符有:\n \t 空格 re.findall(‘\s‘,‘abcd \n\tdf21 ‘) # 结果为:[‘ ‘, ‘\n‘, ‘\t‘, ‘ ‘, ‘ ‘] # \d 匹配所有数字 re.findall(‘\d‘,‘a1bc3 4d \n\tdf21 ‘) # 结果为:[‘1‘, ‘3‘, ‘4‘, ‘2‘, ‘1‘] # . 匹配\n换行符以外的所有可见和不可见字符 re.findall(‘.‘, ‘c3 d\n\td1‘) # 结果为:[‘c‘, ‘3‘, ‘ ‘, ‘d‘, ‘\t‘, ‘d‘, ‘1‘]
二. 匹配多个字符
#匹配多个字符:* + ? {} import re # * 匹配0或n次 re.findall(‘\d*‘, ‘1a23‘) # 结果为:[‘1‘, ‘‘, ‘23‘, ‘‘] # + 匹配1或n次 re.findall(‘\d+‘, ‘1a23‘) # 结果为:[‘1‘, ‘23‘] #前面2个是叫贪婪匹配 # ? 匹配0或1次 re.findall(‘\d?‘, ‘1a3‘) # 结果为:[‘1‘, ‘‘, ‘3‘, ‘‘] # 这个叫非贪婪匹配
三. 匹配指定范围字符
# {m,n} 匹配最少m次,最多n次 # {m} 只匹配m次的 # {,n} 匹配最大n次,最小次数不限 # {m,} 匹配最小m次,最大次数不限 re.findall(‘\d{2,4}‘, ‘1a33g134nn12345‘) # 结果为:[‘33‘, ‘134‘, ‘1234‘] re.findall(‘a{3}‘, ‘1aaa3*G+1aaaan#b‘) # 结果为:[‘aaa‘, ‘aaa‘] # | 匹配 或 语法的字符 re.findall(‘1|23|4‘, ‘1a33g134nn12345‘) # 结果为:[‘1‘, ‘1‘, ‘4‘, ‘1‘, ‘23‘, ‘4‘] # [ ] 匹配括号内的字符(只匹配单个) re.findall(‘[123]‘, ‘1a33g134nn12345‘) # 结果为:[‘1‘, ‘3‘, ‘3‘, ‘1‘, ‘3‘, ‘1‘, ‘2‘, ‘3‘] re.findall(‘[0-9a-zA-Z]‘, ‘1a3*G+1n#‘) # 匹配0到9或者a到z或者A到Z单个字符 # 结果为:[‘1‘, ‘a‘, ‘3‘, ‘G‘, ‘1‘, ‘n‘] # ^x 行首匹配 # x$ 行尾匹配 re.findall(‘^1‘, ‘1a3*G+1n#b‘) re.findall(‘1$‘, ‘1a3*G+1n#b‘) # 结果为:[‘1‘] # 结果为:[‘b‘]
未完待续...
标签:多个 数字 列表 nbsp 字符列表 str 正则表达 findall \n
原文地址:https://www.cnblogs.com/oldboy2019/p/10800192.html