python 正则替换不包含某字符串的其他字符

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 正则替换不包含某字符串的其他字符相关的知识,希望对你有一定的参考价值。

例如,sting='abA123cdefg',我想将非A123的其他字符替换成B,即变成BBA123BBBBB,请问正则表达式应该怎么写(注:123是可变的数字,即\d,A是常量)

这个是数字个数不定,

参考技术A import re
sting='abA123cdefg'
sting = re.sub('[^A123]','B',sting)
print(sting)
参考技术B 《红楼梦》(中国古典文学读本丛书、世界文学名著文库),中国艺术研究院红楼梦研究所校注,沈尹默题字,前八十回以庚辰本作底本,后四十回以程甲本作底本,人民文学出版社1982年3月第1版,1996年12月第2版,2008年7月第3版 [6] 。

正则表达式包含某字符串且不包含某些字符串

相对的包含某个单词

(?=abcd)

不包含某个单词,比如hello

(?!abcd)

不包含某些字符的正则如下

 var $sz = /[#$@/\\()<>[] ]/gi;//常见的特殊字符不够[]里面继续加

不包含某些字符串的正则如下

 ^((?!666|zzz|abc).)*$;//字符串按照要求换

接着需要把上面的多个正则合并到一个
如何合并多个正则
可以用零宽断言来实现。
例如:
合并下列正则表达式:
A. 必须包含数字的正则表达式 .\\d
B. 必须包含英文的正则表达式 .
[a-zA-Z]
C. 字符串长度是8-12位的正则表达式 ^.8,12$
合并后结果:
(?=.\\d)(?=.[a-zA-Z])^.8,12$
表示必须包含数字,必须包含字母,同时长度为8-12位的正则表达式

所以我们合并包含某个字符串,并且 不包含某些字符串的正则如下

(?=Func)(?=(?!FuncLog|FuncTable|FuncMessage).*)// 包含Func,并不包含FuncLog,FuncTable,FuncMessage

以上是关于python 正则替换不包含某字符串的其他字符的主要内容,如果未能解决你的问题,请参考以下文章

用正则表达式替换某一区段内的字符,在线等

正则表达式,不包含某特殊符号

正则表达式,不包含某特殊符号

正则表达式包含某字符串且不包含某些字符串

正则表达式包含某字符串且不包含某些字符串

MyEssay 之 Python正则表达式 —— 四种断言扩展的理解