社区
C#
帖子详情
求正则表达式
yjdn
2006-10-03 12:50:27
1.我要从aspx文件中找出id前缀为"aa_"的<asp:Label>或<asp:Button>控件
如:<asp:Label id="aa_1">中国</asp:Label>
2.再从上面的例子中把“中国”取出来
...全文
704
34
打赏
收藏
求正则表达式
1.我要从aspx文件中找出id前缀为"aa_"的或控件 如:中国 2.再从上面的例子中把“中国”取出来
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
34 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gzdiablo
2006-10-10
打赏
举报
回复
算了 我并不是那么看重分数 只是说说好玩
yjdn
2006-10-09
打赏
举报
回复
非常感谢,
表再浪费我的感情了答案给你
//这句话我的理解是不想要分,
如果我理解错,请打Error,然后我另开帖给分
gzdiablo
2006-10-09
打赏
举报
回复
(?:<asp:(Label|Button)[^>]*id="aa_[^>]*>(?<getString>\s*|.)*</asp:\1>)|(?:<input\s*id\s*=["']?aa_[^>]*>)
gzdiablo
2006-10-08
打赏
举报
回复
<asp:(Label|Button)[^>]*id="aa_[^>]*>(?<getString>\s*|.)*</asp:\1>
以上表达式才可以正确获取你所需要的内容
1.你的id属性不一定是第一个属性,如果是第二个或第三个则你的表达式无法获取
2.如果你的标签中间的内容中有"<"或">"或换行 则无法获取
例如:
<asp:Label id="aa_1"><中
国></asp:Label>
3.如果你的前后标签不一致也会出错
例如:
<asp:Button id="aa_1">中国</asp:Label>
(前面是button 后面是label)
<asp:(Label|Button)[^>]*id="aa_[^>]*>(?<getString>\s*|.)*</asp:\1>
使用这个group["getString"] 就是中间的内容
yjdn
2006-10-08
打赏
举报
回复
分出来写,我也会,我想知道的是,和以前的合并在一块
yjdn
2006-10-08
打赏
举报
回复
第三点可以不考虑,因为如果前后标签错的话,首先在IDE里就通不过
楼上真细心,如果你早点出现,分就给你了
gzdiablo
2006-10-08
打赏
举报
回复
表再浪费我的感情了答案给你
<input\s*id\s*=["']?aa_[^>]*>
初步测试成功
yjdn
2006-10-08
打赏
举报
回复
能不能写一个把<input id="aa_123" >的控件也取出来?
就是把id前缀为aa_的<input控件也取出来.
得到答案后,我另开帖给50分
bobo0124
2006-10-03
打赏
举报
回复
<asp:Label id="aa_.+?">中国</asp:Label>
yjdn
2006-10-03
打赏
举报
回复
<asp:(Label|Button) id="aa_[^>]*>[^<>]*</asp:(Label|Button)>
//我自己写出来了
yjdn
2006-10-03
打赏
举报
回复
<asp:Button id="aa_3" cssclass="buttoninput" runat="server" Text="登录"></asp:Button>
//1.用你的语句不能把上面的控件匹配出来
2.没有写求控件ID与显示文本的正则
等待中。。。
Nara
2006-10-03
打赏
举报
回复
刚才想错了,这个经验证通过
string input = "<asp:type1 id=\"aa_1\">中国</asp:type1> <asp:type2 id=\"aa_2\">国</asp:type2>";
string regex = "<asp:(type1|type2) id=\"(aa_[^>]+)\">([^>]+)</asp:(type1|type2)>";
Match m = Regex.Match(input, regex);
int controlNum = 1;
while (m.Success)
{
// control i
string controlID = m.Groups[2].Value;
string controlName = m.Groups[3].Value;
controlNum++;
m = m.NextMatch();
}
Nara
2006-10-03
打赏
举报
回复
Sorry,贴错了
string input = "<asp:type1 id=\"aa_1\">中国</asp:type1> <asp:type2 id=\"aa_2\">国</asp:type2>";
string regex = "<asp:(type1|type2) id=\"(aa_[^>]+)\">([^>]+)</asp:(type1|type2)>";
Match m = Regex.Match(input, regex);
for (int i = 0; i < m.Groups.Count; i+=2 )
{
string controlID = m.Groups[i+1].Value;
string controlName = m.Groups[i+2].Value;
Console.WriteLine(controlID);
Console.WriteLine(controlName);
}
Nara
2006-10-03
打赏
举报
回复
再试试这个:
string input = "<asp:type1 id=\"aa_1\">中国</asp:type1> <asp:type2 id=\"(aa_.+)\">([^>]+)</asp:type2>";
string regex = "<asp:(type1|type2) id=\"(aa_.+)\">([^>]+)</asp:(type1|type2)>";
for (int i = 0; i < m.Groups.Count; i+=2 )
{
//control i
string controlID = m.Groups[i+1].Value;
string controlName = m.Groups[i+2].Value;
}
yjdn
2006-10-03
打赏
举报
回复
string regex = "<asp:(controltype1|controltype2|...) id=\"(aa_.+)\">([^>]+)</asp:Label>";
--你可以测试一下,你这种写法是错误的
yjdn
2006-10-03
打赏
举报
回复
我试了一下,用
string controlID = Regex.Replace(input, regex, "$1");
string controlName = Regex.Replace(input, regex, "$2");
不能取得到控件ID,还有文本值
Nara
2006-10-03
打赏
举报
回复
string regex = "<asp:(controltype1|controltype2|...) id=\"(aa_.+)\">([^>]+)</asp:Label>";
懂了没?
yjdn
2006-10-03
打赏
举报
回复
我现在就是想放在一块匹配,并看看这样的正则表达式怎么样写
Nara
2006-10-03
打赏
举报
回复
Match m = Regex.Match(input, regex);
$n 即 m.Group[n].Value
另外,如果只是几种控件,建议你分几次匹配,这样保证正确并且可以对特定类型控件加一些与其关联的处理代码
yjdn
2006-10-03
打赏
举报
回复
现在你可以只写Label和Button两种类型
加载更多回复(14)
正则表达式
30分钟入门教程doc
正则表达式
30分钟入门教程
精通
正则表达式
正则表达式
各语言通用,这本书是经典中的经典
Python
正则表达式
(一看就懂)
哈喽O(∩_∩)O 今天来发一下python
正则表达式
,其实这个也是比较简单的 什么是
正则表达式
(⊙_⊙) 目前越来越多的网站、编辑器、编程语言都已支持一种叫“
正则表达式
”的字符串查找“公式”,有过编程经验的同学都应该了解
正则表达式
(Regular Expression 简写regex)是什么东西,它是一种字符串匹配的模式(pattern),更像是一种逻辑公式。 简单说,
正则表达式
是 python中必备的工具,主要是用来查找和匹配字符串的。
正则表达式
尤其在python爬虫上用的多。 正则表达
Linux基础之
正则表达式
正则表达式
:又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。
正则表达式
通常被用来检索、替换那些符合某个模式(规则)的文本。
正则表达式
是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符...
中文
正则表达式
匹配-正则中文匹配
原文链接:http://caibaojian.com/zhongwen-regexp.html这篇文章主要讲如何使用正则匹配中文字符,中文
正则表达式
的匹配规则不像其他正则规则一样容易记住,下面一起看看这个中文
正则表达式
是怎么样的。\w匹配的仅仅是中文,数字,字母,对于国人来讲,仅匹配中文时常会用到,见下匹配中文字符的
正则表达式
: [\u4e00-\u9fa5]或许你也需要匹配双字节字符,中文也是双...
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章