基于不在正则表达式中的字符的Python字符串替换
是否可以创建一个reqex来查找不属于特定集合的字符 与其将一堆字符列入黑名单并替换它们,我更容易允许某个集合并替换不在该集合中的字符 我的套装看起来像这样: [.a-zA-Z0-9] 我想这样做:基于不在正则表达式中的字符的Python字符串替换,python,regex,Python,Regex,是否可以创建一个reqex来查找不属于特定集合的字符 与其将一堆字符列入黑名单并替换它们,我更容易允许某个集合并替换不在该集合中的字符 我的套装看起来像这样: [.a-zA-Z0-9] 我想这样做: clean_filename = re.sub(r'([.a-zA-Z0-9])', "_", filename) 显然,此代码将替换我想要保留的字符,有没有办法替换不在该集中的字符?是的,使用^否定“修饰符”:r'[^.a-zA-Z0-9]尝试: re.sub(r'[^a-zA-Z0-9]',
clean_filename = re.sub(r'([.a-zA-Z0-9])', "_", filename)
显然,此代码将替换我想要保留的字符,有没有办法替换不在该集中的字符?是的,使用
^
否定“修饰符”:r'[^.a-zA-Z0-9]
尝试:
re.sub(r'[^a-zA-Z0-9]', "_", filename)
用户可以输入“.”作为文件名。可以吗?
clean_filename = re.sub(r'[^.a-zA-Z0-9]', "_", filename)