我正在寻找一个正则表达式,它将向已经具有具有特定值的属性的元素添加属性。
例如:
<meta name="stack" />
我想向具有属性 name="stack" 的 meta 元素添加一个属性,使其看起来像
<meta name="stack" value="overflow" />
一些用于匹配和替换的 C# 代码也会有所帮助。
由于输入中的 xml 格式错误,我无法使用 XmlDocument 或 HtmlAgilityPack。
谢谢。
(<\s*meta\s+name\s*=\s*"stack")(\s*/>)
用。。。来代替
$1 value="overflow" $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""");