当前位置:编程学习 > C#/ASP.NET >>

求一个正则( XX|XXXX|X|XXX )

运行环境 C# 和javascript 都能够适应
范例: 12|2345|6|44
      66|7777|3|10
规律:需要匹配的字符串是由1-10的数字组成,数字被“|”分割成上面的范例样式。位置不会变化。
目的:需要从一串字符串中抓取匹配上面规律的字符。
求一个实现方式。

在论坛看到以前好多正则高手写的东东,但人笨了点还是没搞定,实在没办法了,再次请高手指点。
小弟在此先谢过了,在线等。
分不多了,请帮个忙。解决立刻结分。
--------------------编程问答-------------------- \d{2}¦\d{4}¦\d¦\d{2} --------------------编程问答-------------------- \d{2}¦\d{4}¦\d¦\d{2} --------------------编程问答-------------------- 忘了先刷新页面了 ,发重复了,已经有人发了      --------------------编程问答-------------------- <?<a>\d{2}\|\d{4}\|\d{1}\|\d{2}> --------------------编程问答-------------------- 谢谢热心的大家,不过上面2个刚才测试了一下
我 如果我输入:33|3333|4|77888 
爪出来的结果变成了
33
3333
4
77
88
8
我想这个表达式爪出来的结果是
33
3333
4
77
而后面的
88

8
不要抓取,不知道有没有办法 --------------------编程问答-------------------- 我表达错了,sorry

目的是这样的:
是要判断 获得的数据是否符合这样的格式:XX|XXXX|X|XX
“X”是0-9的整数
如果传入的数据是989|5555|1|10
我通过正则表达式匹配后发现这个数据不能匹配我的格式,那么我就需要返回false
如果闯入的数据是89|3423|0|10,这个就符合我匹配的格式,那么返回true --------------------编程问答-------------------- ^\d{2}[|]\d{4}[|]\d[|]\d{2}$ --------------------编程问答-------------------- UP.......... --------------------编程问答-------------------- Regex aa = new Regex(@"^\d{2}[|]\d{4}[|]\d[|]\d{2}$ ");
Match bb= aa.Match("55|5678|8|44");
MessageBox.Show(bb.Success.ToString()); 
执行后返回的还是false
是不是我用错了方法了? --------------------编程问答--------------------
private void Page_Load(object sender, System.EventArgs e)
{
string str =@"^\d{2}\s*\|\d{4}\s*\|\d{1}\s*\|\d{2}\s*$";
string  s = "55|5678|8|44";
Regex r = new Regex(str);
Match m = r.Match(s);
if(m.Success)
{
Response.Write(m.ToString());
}
}


运行通过 为了防止空白不匹配  增加空白匹配 --------------------编程问答-------------------- ^\b\d{2}\¦\d{4}\¦\d{1}\¦\d{2}\b$  --------------------编程问答-------------------- ^[^0-9]\d{2}\¦\d{4}\¦\d{1}\¦\d{2}[^0-9]$
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,