我正在尝试编写一个可以解析 iCalendar 文件的类,并且遇到了一些砖墙。每行可以采用以下格式:
PARAMETER[;PARAM_PROPERTY..]:VALUE[,VALUE2..]
用一堆拆分或正则表达式解析非常容易,直到你发现值可以有反引号逗号,它们也可以用双引号标记,这让生活变得艰难。例如:
PARAMETER:"my , cool, value",value\,2,value3
在此示例中,您将提取三个值:
- 我的,很酷的价值
- 价值,2
- 价值3
这使它变得更加困难。
建议?