正则表达式 - Python:在特定单词后捕获三(3)个单词

时间:2016-05-28 10:01:57

标签: python regex

大家好,我有以下代码:

str1 =  "Hello, I would like to meet you at the train station of Berlin after 6 o' clock"
match = re.compile(r' at \w+ \w+ \w+')
match.findall(str1)

有没有比" \ w + \ w + \ w"更好的方式那么例如捕获特定数量的单词?

1 个答案:

答案 0 :(得分:3)

是。要指定匹配的特定计数,请使用花括号。 。E.g,:

0.1s

给出了:

match = re.compile(r'at ((\w+ ){3})')

一般来说,要仅捕获>>> print match.findall(str1) [('the train station ', 'station ')] 之后的n字词,您的正则表达式将是:

word

'word\s+((?:\w+(?:\s+|$)){n})' 指定“非捕获”组,?:指定空格,\s表示“或”,|表示“字符串结束”。因此:

$