我在处理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']
必须修改regex才能进行非贪婪匹配
.*?
。你知道吗DEMO
相关问题 更多 >
编程相关推荐