【发布时间】:2019-01-14 03:27:06
【问题描述】:
我有一个这种格式的字符串:
text = "Louis,Edward,John,Billy,Don,Dean"
我想从这个字符串中提取长度在 2 到 4 之间的所有名称。如果列表中只有一个名称,则没有逗号:
text = "Louis"
我正在尝试使用这个正则表达式:
import re
pattern = re.compile('(\w{2,4})(,\w{2,4})*')
search_result = pattern.findall('Louis,Edward,John,Billy,Don,Dean')
print(search_result)
结果是:
[('Loui', ''), ('Edwa', ''), ('rd', ',Bill'), ('Don', ',Dean')]
虽然我希望是:
['John', 'Don','Dean']
我做错了什么?
【问题讨论】:
-
“Billy”的长度为 5。您确定这应该在结果中吗?
-
@coldspeed 你是对的,已编辑。谢谢。
标签: python regex python-3.x