【发布时间】:2018-04-13 22:05:48
【问题描述】:
我在文件中搜索与 python 中三种可能的正则表达式模式之一不匹配的行。如果我要单独搜索每个,模式是:
pattern1 = '_[AB]_[0-9]+$'
pattern2 = 'uce.+'
pattern3 = 'ENSOFAS.+'
模式 2 和模式 3 位于行首附近(从技术上讲,这些行以 > 开头)。 Pattern1 在字符串的末尾。
我已经看到了将 pattern2 和 pattern3 与 ^>(?:(?!uce|ENSOFAS).+$) 之类的组合的方法(我不确定这是否格式正确)。我怎样才能在单个正则表达式搜索中包含 pattern1 。我这样做的原因是跳过与这些模式中的任何一种匹配的行。
【问题讨论】:
-
你应该可以做到
(pattern1 | pattern2 | pattern3) -
^>(?:ENSOFAS|uce).+|^.*_[AB]_[0-9]+$?