如何使用python中的regex将vcard文件拆分为单独的联系人?

2024-05-19 22:26:35 发布

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

我在处理vcf文件。我在一个vcf文件里收集了很多联系人。但我想从文件中分别提取每个联系人。我想用regex来简化它。我怎样才能做到呢?你知道吗

我已经做了一个模式,但它是一次匹配所有联系人。你知道吗

import re

a = \
'''BEGIN:VCARD
VERSION:3.0
N:-Achham;Bhaskar;Saud;;
FN:Bhaskar -Achham
NOTE:
TEL;TYPE=CELL;TYPE=pref;TYPE=VOICE:9741062727
END:VCARD
BEGIN:VCARD
VERSION:3.0
FN:Rohit Joshi
N:;Rohit Joshi;;;
END:VCARD'''

pattern = 'BEGIN:VCARD.*END:VCARD'
match = re.findall(pattern,a,re.DOTALL)
print(match)

我期待着每个联系人的名单,但我得到的结果是这个。你知道吗

['BEGIN:VCARD\nVERSION:3.0\nN:-Achham;Bhaskar;Saud;;\nFN:Bhaskar -Achham\nNOTE:\nTEL;TYPE=CELL;TYPE=pref;TYPE=VOICE:9741062727\nEND:VCARD\nBEGIN:VCARD\nVERSION:3.0\nFN:Rohit Joshi\nN:;Rohit Joshi;;;\nEND:VCARD']

Tags: 文件reversiontype联系人endvcardfn