求一正则表达式,判断算术式! 是否可以用正则表达式来判断一字符串数是否为符合要求的算术表达式“A+B-C-.......+N”1. 算术式中 A,B,C....N为不重复的N个自然数。2. 该算术式中只有加减运算。如果可以,请指点改如何写这样的正则表达式? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 最好一个正则表达式搞定,因为我判断的频率不高。在C#中,只要验证输入字符是否符合过则,不需要其判断他说明例如“1+0+2” --> 结果False “1+3+2-”--> 结果False “1+3+2+5” --> 结果True 判断频率不高,那就完全可以分开写 //方法 private bool checkFormula(string src) { Regex reg0 = new Regex(@"\b0\b"); Regex reg1 = new Regex(@"^(?:\d+[+-])*\d+$"); Regex reg2 = new Regex(@"\b(\d+)\b(?:(?!\1).)*\1"); if (!reg0.IsMatch(src) && reg1.IsMatch(src) && !reg2.IsMatch(src)) { return true; } return false; } //调用 string[] test = new string[] { "1+0+2", "1+3+2-", "1+3+2+5" }; foreach (string s in test) { richTextBox2.Text += s.PadRight(10, ' ') + checkFormula(s) + "\n"; }/*---------输出--------1+0+2 False1+3+2- False1+3+2+5 True*/ 线程调用带参数的函数..求助 gridview设置了数据源显示不了数据 C# udp 通信能不能指定本地发送端口,并监听这个端口,收数据 如何做到:每次实例化,只进行一次配置文件的读取 查找缺失图片的问题 C# 代码控制局域网流量 百分求助 在线等 急急急急急急急!!!BMP图像处理 如何给FontDialog控件赋值,打开对话框时,显示上一次设置的字体值? 统计玩家拥有城池的时间 请教思归 将数据从库中取出后修改,再邦定到DataGrid socket为什么不能循环发送数据? 求助,Dictionary问题
在C#中,只要验证输入字符是否符合过则,不需要其判断他说明
例如“1+0+2” --> 结果False
“1+3+2-”--> 结果False
“1+3+2+5” --> 结果True
private bool checkFormula(string src)
{
Regex reg0 = new Regex(@"\b0\b");
Regex reg1 = new Regex(@"^(?:\d+[+-])*\d+$");
Regex reg2 = new Regex(@"\b(\d+)\b(?:(?!\1).)*\1");
if (!reg0.IsMatch(src) && reg1.IsMatch(src) && !reg2.IsMatch(src))
{
return true;
}
return false;
}
//调用
string[] test = new string[] { "1+0+2", "1+3+2-", "1+3+2+5" };
foreach (string s in test)
{
richTextBox2.Text += s.PadRight(10, ' ') + checkFormula(s) + "\n";
}
/*---------输出--------
1+0+2 False
1+3+2- False
1+3+2+5 True
*/