检查字符串的一部分是否包含正则表达式

时间:2013-04-25 13:07:31

标签: python string

我有一个字符串列表。 每个字符串包含随机文本以及可能与正则表达式匹配或不匹配的数字和字母序列。

示例字符串:

"Bla bla bla 123-abc-456 bla bla blaaha"

123-abc-456将匹配正则表达式。

我希望将所有匹配序列存储到新列表中;仅序列,而不是bla bla bla。

怎么可以这样做?我需要以某种方式使用正则表达式来突破序列。

2 个答案:

答案 0 :(得分:1)

如果您感兴趣的每个字符串只有一个“序列”:

In [1]: import re

In [2]: re.search(r'\d{3}-\D{3}-\d{3}',
    ..: "Bla bla bla 123-abc-456 bla bla blaaha").group()
Out[2]: '123-abc-456'

只需在for循环中执行此操作,并将结果保存到新列表中。

如果您想要多个匹配项,请按照上面的建议使用re.findall

答案 1 :(得分:1)

在正则表达式中使用大括号。然后,您可以使用组(1),组(2)来匹配匹配的部分。