正则表达式从vcard中挑选值
本文关键字:挑选 vcard 正则表达式 | 更新日期: 2023-09-27 17:53:53
BEGIN:VCARD
VERSION:3.0
PRODID:-//Apple Inc.//iOS 5.1//EN
N:Tom;First ;Mid;Pre;Suffg
FN:Pre First Mid Tom Suffg
NICKNAME:Nick
X-PHONETIC-FIRST-NAME:Fn
X-PHONETIC-LAST-NAME:Ln
ORG:The Organization;
TITLE:VP Investor Relations
TEL;type=WORK;type=VOICE;type=pref:003-000-11111
item1.ADR;type=WORK;type=pref:;;;test;VA;12345;
BDAY;value=date:1992-03-27
item2.X-ABDATE;type=pref:2014-03-27
item2.X-ABLabel:_$!<Anniversary>!$_
item3.X-ABDATE:2013-03-27
item3.X-ABLabel:_$!<Other>!$_
NOTE:Test note
REV:2014-03-27T10:25:11Z
UID:2DCC7DC1-04F4-4A1E-A268-80E346F610AD
END:VCARD
我需要知道正则表达式来挑选日期值(生日,周年纪念日,其他)。
任何帮助都将是非常感激的。
Eidt:我只是要求挑选日期值,我可以挑选其他值。
您所拥有的非常接近,但需要进行一些更改:
(?<strElement>(BDAY)) (:(?<strBDAY>([^'n'r]*)))
^ ^ ^ ^ ^ ^
我上面指出的部分要么是不必要的(在括号的情况下),要么是造成问题的。
将空格更改为'S+
之类的东西,并删除额外的双亲:
(?<strElement>BDAY)'S+:(?<strBDAY>[^'n'r]*)
regex101 demo
没有DataTime验证:
'd{4}'-'d{2}'-'d{2}