Python:一行中有多个字符的正则表达式?

时间:2013-08-15 19:41:46

标签: python regex

我想了解并知道如何将所有这些正则表达式组合成一行。 我想忽略具有以下字符的行(?,+, - ,insA,insC,insG,insT,insU,并且任何行都有ins而后面有一些数字,例如ins34或ins99) 以下似乎工作但不漂亮。任何帮助都非常感谢。

    f1=re.search(r'\?(.+)$',line)
    f2=re.search(r'\+(.+)$',line)
    f3=re.search(r'\-(.+)$',line)
    f4=re.search(r'\insA(.+)$',line)
    f5=re.search(r'\insC(.+)$',line)
    f6=re.search(r'\insG(.+)$',line)
    f7=re.search(r'\insT(.+)$',line)
    f8=re.search(r'\insU(.+)$',line)

1 个答案:

答案 0 :(得分:1)

这应该有效:

if not re.search("[-?+]|ins[ACGTU\d]", line):
    # Do something

如果line没有?+-insA,它只会运行“执行某事”部分,insCinsGinsTinsUins后跟一个数字。