111,128
社区成员
发帖
与我相关
我的任务
分享
private string MatchValue(string text,string pattern)
{
pattern = pattern.Replace("(", @"\(").Replace(")", @"\)");
pattern = "(?is)" + pattern;
pattern += @"\{((?<group>\{)|(?<-group>\})|[^{}]+)*(?(group)(?!))\}";
return Regex.Match(text, pattern).Value;
}
string str1 = "intEMV_InitPara_xxx(void){if(ParaInfo.cFlag==0x00){emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,1);}else{emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,0);}}intEMV_InitPara(void){if(ParaInfo.cFlag==0x00){emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,1);}else{emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,0);}}";
string str2 = "intEMV_InitPara(void)";
string str3 = "intEMV_InitPara_xxx(void)";
Console.WriteLine(MatchValue(str1,str2));
Console.WriteLine(MatchValue(str1, str3));
输出:
intEMV_InitPara(void){if(ParaInfo.cFlag==0x00){emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,1);}else{emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,0);}}
intEMV_InitPara_xxx(void){if(ParaInfo.cFlag==0x00){emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,1);}else{emv_add_aid_item(ParaInfo.cLenAID,ParaInfo.AID,0);}}