在 exchangelib 的 filter() 中应用正则表达式
Apply Regex in filter() in exchangelib
我正在编写一个需要使用正则表达式过滤主题的脚本。 exchangelib 支持吗?如果是这样,我可以举一些例子吗?
正则表达式是not supported in EWS,所以你不能做过滤server-side。您必须提取所有项目并进行过滤 client-side:
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)
我正在编写一个需要使用正则表达式过滤主题的脚本。 exchangelib 支持吗?如果是这样,我可以举一些例子吗?
正则表达式是not supported in EWS,所以你不能做过滤server-side。您必须提取所有项目并进行过滤 client-side:
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)