-1

我想为 vCard 属性生成正则表达式。

例如:

版本:

Regex regex = new Regex(@"(?<strElement>(VERSION))   (:(?<strVERSION>[^\n\r]*))", options);
 Match  m = regex.Match(s);

如何编写其他 vcard proparty,如 ADR、AGENT、PHOTO、ETC...

http://en.wikipedia.org/wiki/VCard#hCard_1.0

4

1 回答 1

1

对于这种简单的格式,最好避免使用正则表达式并使用简单的字符串操作。例如,文本可以用 \n 分割,然后每一行可以用分号分割。

如果您想继续使用正则表达式,请尝试将 VERSION 替换为 \w+ 并将“” 替换为“*”。我也不确定第二个分组是否必要。此外,可以添加 ^ 和 $ (然后应该使用多行正则表达式选项):

@"^(?<strElement>(\w+)) *:(?<strVERSION>.*)$"
于 2013-02-04T12:55:12.473 回答