首页 新闻 会员 周边

c# 求一个简单的正则表达式

0
[已解决问题] 解决于 2017-06-22 14:56

正确格式如下 string str="12*123*1231*45"; 就是 长*宽*高*件数 的意思

需求1 验证正则这样写不对吗 ?
System.Text.RegularExpressions.Regex.IsMatch(str_telephone, @"^\d\*\d\*\d\*\d$");
需求2 获取四个数字 ,来保存到变量里

IDOER的主页 IDOER | 初学一级 | 园豆:19
提问于:2017-06-22 14:09
< >
分享
最佳答案
1

//参考一下 不确定位数\\d* *在正则中要转义\*
string regStr = "(\\d{0,2})\\*(\\d{0,3})\\*(\\d{0,4})\\*(\\d{0,2})";
string testStr = "12*123*1231*45";
Regex rg = new Regex(regStr, RegexOptions.IgnoreCase);
if (rg.IsMatch(testStr))
{
Console.WriteLine("IsMatch");
}
else
{
Console.WriteLine("NotMatch");
}
MatchCollection mc = rg.Matches(testStr);
string num1 = "";
string num2 = "";
string num3 = "";
string num4 = "";
for (int i = 0; i < mc.Count; i++)
{
num1 = mc[i].Groups[1].Value.Trim();
num2 = mc[i].Groups[2].Value.Trim();
num3 = mc[i].Groups[3].Value.Trim();
num4 = mc[i].Groups[4].Value.Trim();
}
Console.WriteLine("num1:" + num1);
Console.WriteLine("num2:" + num2);
Console.WriteLine("num3:" + num3);
Console.WriteLine("num4:" + num4);

奖励园豆:5
SAI2014 | 菜鸟二级 |园豆:239 | 2017-06-22 14:46

谢谢,c#有没有 可以直接运行 这个字符串 "1+2*5" 计算得出结果的方法

IDOER | 园豆:19 (初学一级) | 2017-06-22 14:47

@efreer: http://www.cnblogs.com/WindBlog/archive/2012/10/22/2733511.html 参考一下

SAI2014 | 园豆:239 (菜鸟二级) | 2017-06-22 14:52

@SAI2014: 谢谢 完美!

IDOER | 园豆:19 (初学一级) | 2017-06-22 14:55
其他回答(2)
0

括号括起来.

吴瑞祥 | 园豆:29449 (高人七级) | 2017-06-22 14:10
0

 

你是要这样吗

兰冰点点 | 园豆:401 (菜鸟二级) | 2017-06-22 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册