如何编写与td匹配的正则表达式,例如
<td>
和带有任何属性的td,例如
<td colspan='2' width='300'>
但不具有样式属性的td,例如
<td colspan='2' style='padding:2px'>
提前致谢! (问题在这里结束)
如果有人有兴趣,请进一步了解我在做什么:
我想为HTML标签添加样式,如果它们还没有。这是用于电子邮件,而不是网络。
我已经有了这个附加css的代码(它可以工作,但只有在标签已经有一个带有分号的分号的样式属性时才有效):
/// <param name="tag">eg. "td"</param>
/// <param name="css">eg. "font:12px sans-serif;"</param>
public static string AppendStyle(string html, string tag, string css)
{
Regex rex = new Regex(@"<"+tag+@" ([^>]*)style=['""]([^'""]*; *)['""]([^>]*)>");
html = rex.Replace(html, @"<" + tag + " $1style='$2"+css+"'$3>");
}
答案 0 :(得分:2)
这不是你应该用正则表达式做的事情。但这并不意味着它是不可能的。如果你这样做
<\w+>|<\w+ ((?!style=).)+>
你有类似的行为((?!(style =)。)+表示'not style ='。但我同意Jim Mischel。建议在这里使用真正的解析器。