我想解析以下输入。
{*HEADER}
Product
{*DESCRIPTION}
Product Name
{*HEADER}
Service
{*DESCRIPTION}
Service Name
,输出应该是类似的。
List<Dictionary <string,string> >
key = HEADER , value = Product
Key = DESCRIPTION , value = Product Name
和下一个列表对象相同。
答案 0 :(得分:2)
我解析输入的想法是使用negated class和capturing groups。
{\*([^}]+)}\s*([^{]*[^\s{])
[{\*([^}]+)}
会将键捕获到$1
\s*
后跟任意数量的空白([^{]*[^\s{])
将值捕获到$2
,而不是以空格结尾(右侧修剪)。