>>> line='protein_coding other stuff exon more stuff'
>>> "protein_coding" in line and "exon" in line
True
或者,如果要测试任意数量的单词,请使用all和目标单词的元组来测试:
^{pr2}$
如果匹配项需要正则表达式,并且您希望限制为多个不相关的正则表达式,请使用all和理解来测试:
>>> p1=re.compile(r'\b[a-z]+_coding\b')
>>> p2=re.compile(r'\bexon\b')
>>> li=[p.search(line) for p in [p1, p2]]
>>> li
[<_sre.SRE_Match object at 0x10856d988>, <_sre.SRE_Match object at 0x10856d9f0>]
>>> all(e for e in li)
True
这个正则表达式将匹配具有“protein_nucoding”和“exon”字符串的行。在
DEMO
^{pr2}$使用锚定和前瞻性断言:
inline
(?m)
修饰符启用多行模式。这里使用lookahead匹配两个子字符串,而不管它们的顺序如何。在Live Demo
如果测试字符串不需要使用正则表达式,那么还可以使用Python的字符串函数和
in
:或者,如果要测试任意数量的单词,请使用
^{pr2}$all
和目标单词的元组来测试:如果匹配项需要正则表达式,并且您希望限制为多个不相关的正则表达式,请使用
all
和理解来测试:相关问题 更多 >
编程相关推荐