匹配正则表达式的所有单词的列表

sza*_*man 7 python regex

假设我有一些字符串:"Lorem ipsum dolor sit amet"我需要一个长度超过3的所有单词的列表.我可以用正则表达式吗?

例如

pattern = re.compile(r'some pattern')
result = pattern.search('Lorem ipsum dolor sit amet').groups()
Run Code Online (Sandbox Code Playgroud)

结果包含'Lorem','ipsum','dolor'和'amet'.

编辑:

我的意思只能包含字母和数字.

Tim*_*ker 16

>>> import re
>>> myre = re.compile(r"\w{4,}")
>>> myre.findall('Lorem, ipsum! dolor sit? amet...')
['Lorem', 'ipsum', 'dolor', 'amet']
Run Code Online (Sandbox Code Playgroud)

请注意,在Python 3中,所有字符串都是Unicode,这也会找到使用非ASCII字母的单词:

>>> import re
>>> myre = re.compile(r"\w{4,}")
>>> myre.findall('Lorem, ipsum! dolör sit? amet...')
['Lorem', 'ipsum', 'dolör', 'amet']
Run Code Online (Sandbox Code Playgroud)

在Python 2中,您必须使用

>>> myre = re.compile(r"\w{4,}", re.UNICODE)
>>> myre.findall(u'Lorem, ipsum! dolör sit? amet...')
[u'Lorem', u'ipsum', u'dol\xf6r', u'amet']
Run Code Online (Sandbox Code Playgroud)