首页 新闻 会员 周边

一个简单的正则表达式

0
悬赏园豆:10 [已解决问题] 解决于 2008-08-18 13:42
<P>比如说,我现在有这么一个字符串</P> <P>价格:&lt;%# price %&gt; 元。数量:&lt;%# Count %&gt;个。类别:&lt;%# Type %&gt;</P> <P>我现在要取出所有 &lt;%# 和 %&gt;之间的字符 对正则不怎么会,哪位朋友帮忙写一下 谢谢</P> <P>&nbsp;</P>
问题补充: 不好意思,你们可能理解错我的意思了。我只想要输出 price , count 和type 不像要他们前面的符号。。。
killed的主页 killed | 初学一级 | 园豆:90
提问于:2008-08-18 11:06
< >
分享
最佳答案
0
(?<=<%#).*?(?=%>)
deerchao | 大侠五级 |园豆:8367 | 2008-08-18 13:07
其他回答(5)
0
<%#(.*?)%> 用这个去匹配,再循环读取一下,就可以了
李.net | 园豆:730 (小虾三级) | 2008-08-18 11:09
0
我也给一个 <%#(?<code>[^%]+?)%>
玉开 | 园豆:8822 (大侠五级) | 2008-08-18 11:30
0
正则是可以取到括号里的数值的 前后的符号仅仅是为了准确匹配 1.如何获取单个匹配项 string content = "123456789"; string pat = "\\d"; Regex regex = new Regex(pat); Match match = regex.Match(content); // 获取匹配到的第一项 content = match.ToString(); 2.如何获取多个匹配项 string content = "123456789"; string pat = "\\d"; Regex regex = new Regex(pat); MatchCollection matchCollection = regex.Matches(content); foreach (Match match in matchCollection) { match.ToString(); // 获取匹配集合的每项 } 3.如何获取匹配项中的一部分 string content = "123456789"; string pat = "1([\\d])3"; Regex regex = new Regex(pat); MatchCollection matchCollection = regex.Matches(content); foreach (Match match in matchCollection) { foreach (Group group in match.Groups) { group.Value; //通过group获取打括号的部分 } }
小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2008-08-18 13:00
0
试试 string re = "<%#(?<item>.*?)%>"; string source = "价格:<%# price %> 元。数量:<%# Count %>个。类别:<%# Type %>"; foreach (System.Text.RegularExpressions.Match item in System.Text.RegularExpressions.Regex.Matches(source, re)) { Response.Write(item.Value + "<br />"); }
西门潇洒 | 园豆:280 (菜鸟二级) | 2008-08-18 13:08
0

<%#\s*(\w+)\s*%>

renyu | 园豆:205 (菜鸟二级) | 2012-03-01 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册