Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# vCard 4.0正则表达式_C#_Regex_Vcf Vcard - Fatal编程技术网

C# vCard 4.0正则表达式

C# vCard 4.0正则表达式,c#,regex,vcf-vcard,C#,Regex,Vcf Vcard,不久前,我创建了一个程序来处理vCard文件。这几乎可以通过以下几点完美实现: (?<FIELD>[^\s:;]+)(;(?<PARAM>[^:]+))*:(?<CONTENT>.*(?>\r\n[ \t].*)*)$ e、 g 如您所见,我希望捕获整个参数,包括type=“…”内容 因此,我的问题是:我的代码是否可以修改,或者我是否必须编写两个进程(一个用于旧类型,一个用于新的4.0版本;理想情况下,我希望两者都支持),如果可以,如何编写?(顺便说一

不久前,我创建了一个程序来处理vCard文件。这几乎可以通过以下几点完美实现:

(?<FIELD>[^\s:;]+)(;(?<PARAM>[^:]+))*:(?<CONTENT>.*(?>\r\n[ \t].*)*)$
e、 g

如您所见,我希望捕获整个参数,包括type=“…”内容

因此,我的问题是:我的代码是否可以修改,或者我是否必须编写两个进程(一个用于旧类型,一个用于新的4.0版本;理想情况下,我希望两者都支持),如果可以,如何编写?(顺便说一下,我正在使用c#和.NET4.0)


注意。

请尝试以下正则表达式:

(?<FIELD>[^\s:;]+)(;(?<PARAM>[^=:;]+)=\"?(?<VALUE>[^:;]+)\"?)*:(?<CONTENT>[^;]*;?)*
以及4.0示例:

ADR;TYPE=work;LABEL="42 Plantation St.\nBaytown, LA 30314\nUnited States of America"
 :;;42 Plantation St.;Baytown;LA;30314;United States of America
它还与vCard 4.0规范中的示例相匹配:


我的免责声明是,我在vCard方面没有任何专门知识,我只是浏览了规范的一部分,并在玩的时候查看了一些示例,因此我可能遗漏了一些边缘案例。

您应该认真添加更多关于“您的代码”的信息,这些信息可以/不能修改,为了支持一切…vCard 4.0规范中的照片字段怎么样:
photo:data:image/jpeg;base64,Miicajcadogawibagicbeuwdqyjkozihvaqeebqawdzelmaka1ebhmcvmxldaqbgnvbaoti05ldhnyxblienbw11bmljyxrpb25zienvcnbvcmf0aw9umrwggydqlexnjbmzvcm1hdglvbibtexn0
(?<FIELD>[^\s:;]+)(;(?<PARAM>[^=:;]+)=\"?(?<VALUE>[^:;]+)\"?)*:(?<CONTENT>[^;]*;?)*
ADR;TYPE=WORK:;;100 Waters Edge;Baytown;LA;30314;United States of America
ADR;TYPE=HOME:;;42 Plantation St.;Baytown;LA;30314;United States of America
ADR;TYPE=work;LABEL="42 Plantation St.\nBaytown, LA 30314\nUnited States of America"
 :;;42 Plantation St.;Baytown;LA;30314;United States of America
ADR;GEO="geo:12.3457,78.910";LABEL="Mr. John Q. Public, Esq.\n
      Mail Drop: TNE QB\n123 Main Street\nAny Town, CA  91921-1234\n
      U.S.A.":;;123 Main Street;Any Town;CA;91921-1234;U.S.A.