问题描述
<$if:classidvalue="1"><li><ahref="{#URL}"target="_blank"title="{uTitle}">{#sTitle}</a></li><$else><li>{#sTitle}(欢迎)</li></$if>mass=“上面的字符串”;Regexreg=newRegex(@"(?is)<$if:(?<name>.*?)s+value=""(?<value>.*?)"">(?<li1>*?<$else>b)s(?<li2>^(<$else>)*?)</$if>");MatchCollectionmc=reg.Matches(mass);intshtml=mc.Count;foreach(Matchmatchinmc){stringname=match.Groups["name"].Value.Trim();//这个可以读取classidstringvalue=match.Groups["value"].Value.Trim();//这里也可读取=1stringli1=match.Groups["li1"].Value.Trim();//到这里就不行了stringli2=match.Groups["li2"].Value.Trim();//到这里就不行了,正则该如何写的呢?头晕2天了、。我分不多了。System.Web.HttpContext.Current.Response.Write(name+"<br/>");System.Web.HttpContext.Current.Response.Write(value+"<br/>");}
解决方案
解决方案二:
补充说明stringli1=match.Groups["li1"].Value.Trim();//得到<li><ahref="{#URL}"target="_blank"title="{uTitle}">{#sTitle}</a></li>stringli2=match.Groups["li2"].Value.Trim();//得到值<li>{#sTitle}(欢迎)</li>