c#正则表达式查找变量模式

本文关键字:模式 变量 查找 正则表达式 | 更新日期: 2023-09-27 18:19:09

我需要解析以下面代码示例的方式格式化的html。我遇到的问题是,字段名可以包装在具有可变背景或颜色样式的标签中。我正在寻找的模式是
标记,忽略任何带冒号的文本包装的span(这是模式
id:没有span标记包装)。匹配这个模式应该会给我键名,键名后面的就是键值,直到碰到下一个键名。下面是我需要解析的html示例:

string source = "
<br />id: Value here
        <br /><SPAN style='"background-color: #A0FFFF; color: #000000'">community</SPAN>: Value here
        <br /><SPAN style='"background-color: #A0FFFF; color: #000000'">content</SPAN><SPAN style='"background-          color: #A0FFFF; color: #000000'">title</SPAN>: Value here
"
//split the source into key value pairs based on the pattern match.

谢谢你的帮助

c#正则表达式查找变量模式

这里有一些代码将解析它,假设您的示例HTML应该在' content'之后有另一个<br />元素。

string source = @"
  <br />id: Value here
  <br /><SPAN style=""background-color: #A0FFFF; color: #000000"">community</SPAN>: Value here
  <br /><SPAN style=""background-color: #A0FFFF; color: #000000"">content</SPAN>
  <br /><SPAN style=""background-color: #A0FFFF; color: #000000"">title</SPAN>: Value here";
var items = Regex.Matches(source,@"<br />(?:<SPAN[^>]*>)?([^<:]+)(?:</SPAN>)?:?'s?(.*)")
         .OfType<Match>()
         .ToDictionary (m => m.Groups[1].Value, m => m.Groups[2].Value)
         .ToList();