如何通过正则表达式拉出字符串

时间:2014-11-20 21:52:16

标签: python regex

我有以下字符串:

>>> x
'Content Type: TV Mini-Series\n\n\n                     - 705 min - Action|Drama|History |'

我想要取出“迷你系列”的价值,之前或之后没有任何东西。这就是我到目前为止所做的:

>>> re.match(r'.+TV Mini-Series', x).group(0)
'Content Type: TV Mini-Series'

我怎么才能收到“电视迷你系列”文字?

4 个答案:

答案 0 :(得分:1)

如果您想根据Mini-Series进行搜索并希望'TV Mini-Series,则可以在模式中添加可能的空格。因为TV是大写字母{{1} }可以在[A-Z]*之前匹配任何大写字母组合!

Mini-Series

答案 1 :(得分:0)

使用re.search会更适合这个:

>>> re.search(r'TV Mini-Series', x).group(0)
'TV Mini-Series'

答案 2 :(得分:0)

当您只使用str.split时,正则表达式似乎有点过分了:

>>> x = 'Content Type: TV Mini-Series\n\n\n                     - 705 min - Action|Drama|History |'
>>> x.split('\n', 1)[0].split(maxsplit=2)[2]
'TV Mini-Series'
>>>

答案 3 :(得分:0)

  

re.match(r'。+(TV Mini-Series)',x).group(1)
  => '电视迷你系列'

注意:您要使用group(1),因为group(0)被定义为捕获整个字符串