在 exchangelib 的 filter() 中应用正则表达式



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

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)

最新更新