Python regex用两个分隔符之一拆分字符串

2024-05-23 14:51:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想剪掉一系列电子邮件地址,这些地址可以用逗号和空格的任意组合来分隔。

我觉得这会很直接:

sep = re.compile('(\s*,*)+')
print sep.split("""a@b.com, c@d.com

   e@f.com,,g@h.com""")

但它不是。我找不到一个正则表达式,它不会留下一些空槽,如:

['a@b.com', '', 'c@d.com', '', 'e@f.com', '', 'g@h.com']

我试过各种组合,但似乎都不管用。这,事实上,有可能,与regex?


Tags: recom电子邮件地址sepregexsplit空格
3条回答

啊!

只是这个。

sep = re.compile('[\s,]+')

不含稀土

line = 'e@d , f@g, 7@g'

addresses = line.split(',')    
addresses = [ address.strip() for address in addresses ]

我喜欢以下。。。

>>> sep= re.compile( r',*\s*' )
>>> sep.split("""a@b.com, c@d.com

   e@f.com,,g@h.com""")
['a@b.com', 'c@d.com', 'e@f.com', 'g@h.com']

这似乎也适用于你的测试数据。

相关问题 更多 >