大家好,我有以下代码:
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"更好的方式那么例如捕获特定数量的单词?
答案 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
表示“或”,|
表示“字符串结束”。因此:
$