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