正则表达式匹配跳过/排除较长字符串上的特定单词

时间:2018-11-22 00:14:52

标签: c# regex

我正在尝试针对如下字符串创建正则表达式:

<img border="0" style="vertical-align: middle;" src="/Common/Images/chip.gif"><font color=#660033>DDR3</font> 4Gb 512Mx8 1600/1866MHz</a></td>

我对子字符串DDR3</font> 4Gb 512Mx8 1600/1866MHz</a></td>感兴趣 特别是DDR3 4Gb 512Mx8 1600/1866MHz 或换句话说,删除<font>标签,直到</a>标签为止。

当查看子字符串时

DDR3</font> 4Gb 512Mx8 1600/1866MHz</a></td>

表达式\w+?[^<>]+?(?=(?:<))对我来说很好,我成功接起

DDR3 4Gb 512Mx8 1600/1866MHz

因此,我将substring方法添加到整个正则表达式的末尾,以获取原始字符串,如下所示:

<img border="0" style="vertical-align: middle;" src="/Common/Images/\w+\.gif">\s*(<font color\=\#\d+>){0,1}\w+?[^<>]+?(?=(?:<))

但这不再适用于整个字符串 https://imgur.com/a/G8Z3IDy (请看截图) 如您所见,第三个失败(红色圆圈)。

我在有关此指定字符跳过的许多主题上浏览了一些stackoverflow,但找不到解决方法。

请事先提供帮助和真诚的感谢。

0 个答案:

没有答案