我有一个文本变量,可以包含很多((VAR=var_name
))。
我想仅在VAR=var_name
中用var_name替换({src=
))(例如,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
答案 0 :(得分:0)
string srcPattern = @"src="".+?""";
string varPattern = @"\(\(VAR=(.+?)\)\)";
string result = Regex.Replace(sText, srcPattern,
m => Regex.Replace(m.Value, varPattern, n => "**" + n.Groups[1].Value + "**"));
第一个正则表达式匹配字符串src =“...”。而第二个正则表达式替换括号中的每个语句的值。