在Exchangelib中的filter()中应用Regex

时间:2018-03-07 19:01:27

标签: python exchangelib

我正在编写一个需要使用正则表达式过滤主题的脚本。 exchangelib支持吗?如果是这样,我可以举一些例子吗?

1 个答案:

答案 0 :(得分:0)

正则表达式为not supported in EWS,因此您无法进行服务器端过滤。您必须提取所有项目并进行客户端过滤:

for item in account.inbox.all():
    if re.match(r'some_regexp', item.subject):
        # Do something

如果您希望仅匹配极少数项目,则可以先优先获取主题字段,然后选择完整项目进行优化:

matches = []
for item in account.inbox.all().only('subject'):
    if re.match(r'some_regexp', item.subject):
        matches.append(item)
full_items = account.fetch(matches)