我有一个字符串,我想从中提取一个子字符串。目前我正在使用 3 行来实现这一点,如下所示:
for z in my_list:
abc = re.sub('\n', '', z[0])
xyz = re.sub('SNMPv2-SMI::', '', abc)
egg = re.sub('\..*\ =.*$', '', xyz)
但是,由于这是使用 3 个单独的正则表达式命令,有没有办法使用单个语句/命令获取字符串?
只需使用|
("or") 运算符:
strng = re.sub(r'(this)|(that)|(something else)', '', strng)
由于替换字符串相同,您可以使用| .
>>> import re
>>> s="this is for testing"
>>> re.sub("this|for|test","REPLACED",s)
'REPLACED is REPLACED REPLACEDing'
for z in my_list:
abc = re.sub('\..*\ =.*$', '', re.sub('SNMPv2-SMI::', '', re.sub('\n', '', z[0])))
丑陋的小单线给你
您可以使用 silce 提示删除第一个字符:
z[1:]
就像其他人说的那样,您可以使用“(a | b | c)”进行逻辑或。我认为你的代码是这样的:
for z in my_list:
egg = re.sub( r'(SNMPv2-SMI::|\..*\ =.*)', '', z[1:] )