如何使用python 2.x RE匹配特定的字母顺序

时间:2017-01-07 15:51:21

标签: python regex string match

我希望将特定的字母顺序与Python的Re模块匹配。例如,我怎么能匹配像

这样的东西
  • 鲍勃
  • ARA
  • GAG

但不是

  • AAA
  • BAL

ie:我想要一个字母,然后是另一个字母,然后是第一个字母。

对于两个不同的字母,我可以循环遍历所有650种可能性。但是,当匹配较大的字符串时,这变得不可能(并且反正并不好)。

2 个答案:

答案 0 :(得分:3)

您可以将此正则表达式用于捕获组,前瞻和后向引用:

^([a-zA-Z])(?!\1)[a-zA-Z]\1$

rambling-trie

^                # line start
([a-zA-Z])       # match any letter and capture it as group #1
(?!\1)[a-zA-Z]   # match any letter but make sure it is not what have in group #1
\1               # match what we captured in capture group #1
$                # line end

答案 1 :(得分:0)

使用此正则表达式([a-zA-Z])(?!\1)[a-zA-Z]\1

enter image description here