c#regexp,仅替换部分文本

c#regexp,仅替换部分文本,c#,regex,C#,Regex,我有一个文本变量,它可以包含许多((VAR=VAR\u name)。 我只想在src=中用VAR\u名称替换(VAR=VAR\u name)(例如,在href=中没有) sText = "some text href=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\" src=\"sometext((VAR=XXXX))sometext((VAR=YYYYY)) \" some text some text href=\"sometext((VAR=XXX

我有一个文本变量,它可以包含许多(
(VAR=VAR\u name
)。 我只想在
src=
中用VAR\u名称替换(
VAR=VAR\u name
)(例如,在
href=
中没有)

sText = "some text href=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\"
src=\"sometext((VAR=XXXX))sometext((VAR=YYYYY)) \" some text some text
href=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\"
src=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\" some text";
更换后我想得到:

sText = "some text href=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\"
src=\"sometext**XXXX**sometext**YYYYY**\" some text some text
href=\"sometext((VAR=XXXX))sometext((VAR=YYYYY))\"
src=\"sometext**XXXX**sometext**YYYYY**\" some text";
你有主意了吗

JC


第一个正则表达式匹配字符串src=“…”。而第二个正则表达式替换其值括号中的每个语句。

为什么有这么多示例“混淆”?是HTML吗?使用HTML解析器。@JAL抱歉,我不是英语母语。我发现编写代码很容易,但用英语编写描述很困难。
string srcPattern = @"src="".+?""";
string varPattern = @"\(\(VAR=(.+?)\)\)";

string result = Regex.Replace(sText, srcPattern,
    m => Regex.Replace(m.Value, varPattern, n => "**" + n.Groups[1].Value + "**"));