1

我正在寻找一个正则表达式,它将向已经具有具有特定值的属性的元素添加属性。

例如:

<meta name="stack" />

我想向具有属性 name="stack" 的 meta 元素添加一个属性,使其看起来像

<meta name="stack" value="overflow" />

一些用于匹配和替换的 C# 代码也会有所帮助。

由于输入中的 xml 格式错误,我无法使用 XmlDocument 或 HtmlAgilityPack。

谢谢。

4

2 回答 2

2
(<\s*meta\s+name\s*=\s*"stack")(\s*/>)

用。。。来代替

$1 value="overflow" $2
于 2012-04-18T18:46:00.143 回答
2

从以下正则表达式开始...

<meta[^>]+name="stack"

并替换为...

$0 value="overflow"

替换字符串中的$0代表整个匹配。然后你只是附加value="overflow"到它的末尾。

这是一个工作示例...

http://regexhero.net/tester/?id=586c2040-8700-4ea2-a146-1477ca1bcb62

只需单击 Regex Hero 顶部的“.NET”按钮即可查看 .NET 代码。或者这里有一个简化版本...

return Regex.Replace(text, @"<meta[^>]+name=""stack""", @"$0 value=""overflow""");
于 2012-04-18T18:41:46.307 回答