首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

如何用正则表达式实现如上替换和逆反操作

2013-03-25 
怎么用正则表达式实现如下替换和逆反操作html字符串内容 (包含img srcExistingVariables.aspx信息就执

怎么用正则表达式实现如下替换和逆反操作
html字符串内容 (包含<img src="ExistingVariables.aspx信息就执行正则)
.....
<img src="ExistingVariables.aspx?text=[工程项目名称]&formpost=1&fontBackgroundIsTransparent=1" id="" innername="[C_1_1_t]" stepid="[1]" />
.....
转成

html字符串内容(包含<ST2:ExistingVariables信息就执行正则)
....
<ST2:ExistingVariables stepID=[1] innername="[C_1_1_t]" tooltip="[工程项目名称]"></st2:ExistingVariables>
....

还有逆反正则操作进行反向转换

我自己写了一件正向的正则表达式,可是没有效果,不知道错在哪
str = Regex.Replace(str, @"(?is)<img(?=[^>]*?src=""ExistingVariables.aspx?text=""([^""\.]+)[^""]*"")(?=[^>]*?innername=""([^""]+)"")(?=[^>]*?stepid=""([^""]+)"")[^>]*>", "<ST2:ExistingVariables stepID=[$3] innername="[$2]" tooltip="[$1]"></ST2:ExistingVariables>");


请高手指点一下,最好能看出正转和反转的两条正则表达式
[解决办法]

str = Regex.Replace(str, @"(?is)<img(?=[^>]*?src=""ExistingVariables\.aspx\?text=([^""&]+)[^""]*"")(?=[^>]*?innername=""([^""]+)"")(?=[^>]*?stepid=""([^""]+)"")[^>]*>",
                "<ST2:ExistingVariables stepID=$3 innername="$2" tooltip="$1"></ST2:ExistingVariables>");

热点排行