求2个正则表达式 本帖最后由 yaotomo 于 2014-05-25 22:01:36 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 ((\w+(,\w+))((\w+(,\w+)))+)(\|((\w+(,\w+))((\w+(,\w+)))+))+ 下面的代码测试总是提示格式不正确,请大神帮忙看一下string strRegex1 = @"((\w+(,\w+))((\w+(,\w+)))+)(\|((\w+(,\w+))((\w+(,\w+)))+))+";string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016"; if (!Regex.IsMatch(strTest, strRegex1)) { MessageBox.Show("格式不正确!"); } else { MessageBox.Show("格式正确!");} string strRegex1 = @"\w+(,\w+){4};\w+,\w+(\|\w+(,\w+){4};\w+,\w+)*"; string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016"; if (!Regex.IsMatch(strTest, strRegex1)) { Console.WriteLine("error"); } else { Console.WriteLine("ok"); } 第二个正则\w+(,\w+){4};\w+,\w+\*\w+,\w+(\|\w+(,\w+){4};\w+,\w+\*\w+,\w+)*如果XX*XX的部分一定为数字的话就用这个\w+(,\w+){4};\w+,\d+\*\d+,\w+(\|\w+(,\w+){4};\w+,\d+\*\d+,\w+)* [0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+(\|[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+)*[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};[0-9a-zA-Z]+,[0-9a-zA-Z]+\*[0-9a-zA-Z]+,[0-9a-zA-Z]+(\|[0-9a-zA-Z]+(,[0-9a-zA-Z]+){4};;[0-9a-zA-Z]+,[0-9a-zA-Z]+\*[0-9a-zA-Z]+,[0-9a-zA-Z]+)* 谢谢楼上两位,但是只能匹配一个单元比如第一个4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016可以匹配把第一个单元修改为不符合格式的字符串4L03583456,240,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016也是可以通过的 ^\w+(,\w+){4};\w+,\w+(\|\w+(,\w+){4};\w+,\w+)*$^\w+(,\w+){4};\w+,\w+\*\w+,\w+(\|\w+(,\w+){4};\w+,\w+\*\w+,\w+)*$ C# winform下,有办法让treeview 背景透明或支持背景图片? 继承ToolStripControlHost的类添加了俩个自定义控件,但是左侧总是有白色空隙,请问如何去掉? 为什么有的时候点击一个按钮控件后,页面里的字会变大 父窗体菜单做可关闭全部子窗体的选项,怎么做? 关于自定义控件的焦点 在一个用户控件里有这2个公关函数,我不知道如何调用??? C#如何使用API函数[菜鸟第一问] 想来日本工作的话,请联系 关于freetextbox问题 请帮我推荐基本值得买的C#书 为什么dataset 在messagebox()后会清空数据 关于c#base64加密解密的问题
string strRegex1 = @"((\w+(,\w+))((\w+(,\w+)))+)(\|((\w+(,\w+))((\w+(,\w+)))+))+";
string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016";
if (!Regex.IsMatch(strTest, strRegex1))
{
MessageBox.Show("格式不正确!");
}
else
{
MessageBox.Show("格式正确!");
}
string strTest = @"4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016";
if (!Regex.IsMatch(strTest, strRegex1))
{
Console.WriteLine("error");
}
else
{
Console.WriteLine("ok");
}
\w+(,\w+){4};\w+,\w+\*\w+,\w+(\|\w+(,\w+){4};\w+,\w+\*\w+,\w+)*
如果XX*XX的部分一定为数字的话就用这个
\w+(,\w+){4};\w+,\d+\*\d+,\w+(\|\w+(,\w+){4};\w+,\d+\*\d+,\w+)*
4L03583L21,L123456,2400,2400,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016
可以匹配把第一个单元修改为不符合格式的字符串
4L03583456,240,150;2400,0640400161|4L03583L22,L123456,2400,2400,150;2400,0640400161|4L03583L24,L123456,2400,2400,150;2400,064040016也是可以通过的