RegEx解析自定义标签

时间:2016-06-04 09:57:23

标签: c# regex

我想解析以下输入。

{*HEADER}
Product
{*DESCRIPTION}
Product Name

{*HEADER}
Service
{*DESCRIPTION}
Service Name

,输出应该是类似的。

List<Dictionary <string,string> >
key = HEADER , value = Product
Key = DESCRIPTION , value = Product Name

和下一个列表对象相同。

1 个答案:

答案 0 :(得分:2)

我解析输入的想法是使用negated classcapturing groups

{\*([^}]+)}\s*([^{]*[^\s{])
  • [{\*([^}]+)}会将捕获到$1
  • \s*后跟任意数量的空白
  • ([^{]*[^\s{])捕获到$2,而不是以空格结尾(右侧修剪)。

Here is a demo at regexstorm