C# 正则表达式从标记中删除特定参数
我正在寻找一个正则表达式,只从特定标记中的特定属性中删除参数值。e、 gC# 正则表达式从标记中删除特定参数,c#,regex,C#,Regex,我正在寻找一个正则表达式,只从特定标记中的特定属性中删除参数值。e、 g <TAG1 atr1="param1: value1; param2: value; param3: value3;" attr2="value4"> <TAG2 attr2="value4" atr1="param1: value1; param2: value; param3: value3;" > 应该导致 高度:\d+[^;]+将匹配高度:218px在 像这样的东西可以让你行动起来:
<TAG1 atr1="param1: value1; param2: value; param3: value3;" attr2="value4">
<TAG2 attr2="value4" atr1="param1: value1; param2: value; param3: value3;" >
应该导致
高度:\d+[^;]+代码>将匹配高度:218px代码>在
像这样的东西可以让你行动起来:
(高度:\s*\d{1,}[^;]*;)(?好的,到目前为止你都尝试了什么?我对Regex是新手。有以下内容吗(这是错误的地方。一般来说,对于用正则表达式解析HTML的尝试是非常敌意的。请考虑在别处寻找。我知道使用ReGEX可能不是最适合这种情况,但是我们没有任何计划,很快我们需要几个临时工作补丁几个月。然后我们可以依靠HTMGLAGILIPAPACK到W。和HTML文档一起工作了很多!!!成功了。
using System;
using System.Collections.Generic;
using System.Text.RegularExpressions;
static void Main(string[] args)
{
string string1 = "<body style=\"HEIGHT: 218px; margin: 0px; background-color: #ffffff;\" jQuery111105496473080628138=\"10\">";
string string2 = "<body jQuery111105496473080628138=\"10\" style=\"HEIGHT: 218px; margin: 0px; background-color: #ffffff;\" >";
string string3 = "<test style=\"HEIGHT: 218px; margin: 0px; background-color: #ffffff;\" jQuery111105496473080628138=\"10\">";
List<string> theList = new List<string> { string1, string2, string3 };
Regex heightMatchingRegex = new Regex("(HEIGHT:\\s*\\d{1,}[^;]*;)(?<=<body.*style=\"[^\"]*)(?=[^\"].*\"\\s*>)");
foreach (string item in theList)
{
if (heightMatchingRegex.IsMatch(item))
{
Console.WriteLine("The match: " + heightMatchingRegex.Match(item));
Console.WriteLine("Original: " + item);
Console.WriteLine("Modified: " + heightMatchingRegex.Replace(item, ""));
}
}
Console.ReadLine();
}