标题:正则表达式如何提取值?
只看楼主
liaohongchu
Rank: 1
等 级:新手上路
帖 子:133
专家分:0
注 册:2008-4-25
结帖率:78.72%
 问题点数:0 回复次数:1 
正则表达式如何提取值?
正则表达式如何提取值
<$if:classid value="1">
<li><a href="{#URL}" target="_blank" title="{uTitle}">{#sTitle}</a></li>
<$else>
<li>{#sTitle}(欢迎)</li>
</$if>

我想提取数  classid  1
以及
<li><a href="{#URL}" target="_blank" title="{uTitle}">{#sTitle}</a></li>
 和
<li>{#sTitle}(欢迎)</li>

Regex reg = new Regex(@"(?is)<\$if:(?<name>.*?)\s+value=""(?<value>.*?)"">(\\s*?<li1>.*)<$else>(\\s*?<li2>.*^($if))</\$if>");
            MatchCollection mc = reg.Matches(mass);
            int shtml = mc.Count;
            foreach (Match match in mc)
            {
                string name = match.Groups["name"].Value.Trim();
                string value = match.Groups["value"].Value.Trim();
                string li1 = match.Groups["li1"].Value.Trim();
                string li2 = match.Groups["li2"].Value.Trim();
                //System.Web.HttpContext.Current.Response.Write(name + "<br/>");
                //System.Web.HttpContext.Current.Response.Write(value + "<br/>");
            }  我这样写了 提取不出来
搜索更多相关主题的帖子: blank target 表达式 title 
2012-03-19 15:50
cqjiyong
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2011-9-24
得分:0 
正则改成这样 按照你那样取值就对了
(?is)<\$if:(?<name>\w+)\s+value=""(?<value>[^""]*?)"">\s*(?<li1>(<li>.*?</li>))\s*<\$else>\s*(?<li2>(<li>.*?</li>))\s*</\$if>
2012-06-14 10:30



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-363635-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.116321 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved