正则表达式 - 在特定位置查找具有相同字符的匹配项

时间:2017-08-02 05:25:22

标签: regex python-3.x

我有一个8个字母的序列列表,如下所示:

    ['GQPLWLEH', 'TLYSFFPK', 'TYGEIFEK', 'APYWLINK', ...]

如何使用正则表达式查找序列中特定位置具有特定字母的所有序列?例如,序列中第2个字母的字母V,I,F或Y以及序列​​中第3个字母的字母M,L,F,Y。

我真的很喜欢RE,提前谢谢!

3 个答案:

答案 0 :(得分:1)

您可以尝试使用以下正则表达式模式:

IFS="$oldifs"

这将匹配任何第一个字符,然后使用您想要的逻辑匹配第二个和第三个字符。

.[VIFY][MLFY].*

在这里演示:

Rextester

注意:我在演示文稿的列表中添加了单词import re mylist = ['GQPLWLEH', 'TLYSFFPK', 'TYGEIFEK', 'APYWLINK'] r = re.compile(".[VIFY][MLFY].*") newlist = filter(r.match, mylist) print str(newlist) 以获取通过正则表达式匹配的内容。

答案 1 :(得分:0)

\b.[VIFY][MLFY]\w*\b

这可能会满足您的需求。您可以在regex101

在线使用正则表达式

enter image description here

答案 2 :(得分:0)

也许你可以完全避免使用正则表达式:

WindowsProc