1

我正在制作一个 C# 正则表达式来查找和替换与 html 内容相关的模式。我需要得到所有这样的东西:

<table border=0 align=center id=mytable5>

更正如下:

<table border="0" align="center" id="mytable5">

我试过这个:

String pattern = @"\s(?<element>[a-z])=(?<valeur>\d+?[a-z])\s?[\>]";
String replacePattern = "${element}=[\"]${valeur}[\"]";
html = Regex.Replace(html, pattern, replacePattern, RegexOptions.IgnoreCase);

但绝对没有效果。任何帮助将不胜感激。谢谢你们


其实King King,你的正则表达式有问题

<table border=0 align="center" id="mytable5">

会给

<table border="0" align=""center"" id=""mytable5"">

这就是为什么正则表达式必须检查这个

[空格][az]=[a-z0-9][空格或'>']

4

2 回答 2

0
var html = "<table border=0 align=center id=mytable5>";
html = Regex.Replace(html, @"=\s*(\S+?)([ >])", "=\"${1}\"${2}", RegexOptions.IgnoreCase);
于 2013-08-29T08:19:20.143 回答
0

我知道了

String pattern = @"([a-z]+)=([a-z0-9_-]+)([ >])";
String replacePattern = "${1}=\"${2}\"${3}";
html = Regex.Replace(html, pattern, replacePattern, RegexOptions.IgnoreCase);

会得到

<table border=0 align="center" id="mytable5">

更正此:

<table border="0" align="center" id="mytable5">

感谢King King给我指明了道路

于 2013-08-30T07:34:52.097 回答