匹配正则表达式的所有单词的列表 [英] List of all words matching regular expression
本文介绍了匹配正则表达式的所有单词的列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
假设我有一些字符串:Lorem ipsum dolor sat amet"我需要一个长度超过 3 的所有单词的列表.我可以用正则表达式来做吗?
例如
pattern = re.compile(r'some pattern')result = pattern.search('Lorem ipsum dolor sat amet').groups()
结果包含Lorem"、ipsum"、dolor"和amet".
我说的单词只能包含字母和数字.
解决方案
>>>进口重新>>>myre = re.compile(r"\w{4,}")>>>myre.findall('Lorem, ipsum!dolor 坐?amet...')['Lorem', 'ipsum', 'dolor', 'amet']
请注意,在 Python 3 中,所有字符串都是 Unicode,这也会找到使用非 ASCII 字母的单词:
<预><代码>>>>进口重新>>>myre = re.compile(r"\w{4,}")>>>myre.findall('Lorem, ipsum!dolör 坐?amet...')['Lorem', 'ipsum', 'dolör', 'amet']在 Python 2 中,你必须使用
<预><代码>>>>myre = re.compile(r"\w{4,}", re.UNICODE)>>>myre.findall(u'Lorem, ipsum!dolör 坐?amet...')[u'Lorem', u'ipsum', u'dol\xf6r', u'amet']Let assume that I have some string: "Lorem ipsum dolor sit amet" I need a list of all words with lenght more than 3. Can I do it with regular expressions?
e.g.
pattern = re.compile(r'some pattern')
result = pattern.search('Lorem ipsum dolor sit amet').groups()
result contains 'Lorem', 'ipsum', 'dolor' and 'amet'.
EDITED:
The words I mean can only contains letters and numbers.
解决方案
>>> import re
>>> myre = re.compile(r"\w{4,}")
>>> myre.findall('Lorem, ipsum! dolor sit? amet...')
['Lorem', 'ipsum', 'dolor', 'amet']
Take note that in Python 3, where all strings are Unicode, this will also find words that use non-ASCII letters:
>>> import re
>>> myre = re.compile(r"\w{4,}")
>>> myre.findall('Lorem, ipsum! dolör sit? amet...')
['Lorem', 'ipsum', 'dolör', 'amet']
In Python 2, you'd have to use
>>> 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']
这篇关于匹配正则表达式的所有单词的列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文