我如何通过正则表达式捕获这个?

时间:2011-09-21 21:05:30

标签: python regex

我有一些这样的文字:

ABCPQR01 is not at all good
EFHSTU39 is somewhat nicer

我希望捕获ABC...EFH...类型的字词。第一组三个字母可以是ABCEFH,第二组三个字母可以是PQRSTU。不是编写两个单独的正则表达式来捕获这两个文本元素,而是如何将其写为单个re.compile语句?有什么建议?

2 个答案:

答案 0 :(得分:6)

>>> re.match('(ABC|EFH)(PQR|STU)', 'ABCPQR01 is not at all good').groups()
('ABC', 'PQR')

答案 1 :(得分:2)

我认为这将是一种可行的模式:)

>>> re.compile("^(ABC|EFH)(PQR|STU)\d\d\b")

您也可以在http://www.regextester.com/index2.html

进行测试