C#使用正则表达式检查数学公式的正确性
2018-01-10 20:24
501 查看
using System; using System.Collections; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Text.RegularExpressions; namespace businessLogicLib { /// <summary> /// 2018-1-10 萧頔 /// </summary> public class FormulaSettingBll { public static bool check(string str) { if (str.Equals("")) { return false; } //如果有连续的符号的话返回false if (Regex.IsMatch(str, @"[+-/\\*]{2,}")) { return false; } //如果出现连续的括号的话返回false if (Regex.IsMatch(str,@"[\(\)]{2,}")) { return false; } //如果左括号后面出现+*/符号的时候返回false if (Regex.IsMatch(str, @"\([+/\\*]+")) { return false; } //如果右括号后面出现数字或者没有出现+-*/的时候返回false if (Regex.IsMatch(str, @"\)[^+-/\\*]")) { return false; } //如果左括号前面没有出现+-*/的时候返回false if (Regex.IsMatch(str, @"[^+-/\\*]+\(")) { return false; } //如果右括号前面出现+-*/的时候返回fasle if (Regex.IsMatch(str, @"[+-/\\*]+\)")) { return false; } //递归检查括号是否成对出现 char item; Stack s = new Stack(); foreach(char i in str) { item = i; if(item == '(') { s.Push('('); } else if(item == ')') { if(s.Count > 0) { s.Pop(); } else { return false; } } } if(s.Count != 0) { return false; } return true; } } }
相关文章推荐
- 正则表达式在.Net中的使用(C#)
- C#判断IP地址是否合法函数-使用正则表达式-2个
- C#中使用正则表达式验证特殊字符
- c#中使用正则表达式
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C#判断IP地址是否合法函数-使用正则表达式-2个
- 正则表达式在.Net中的使用(C#)
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [原创]在C#.net中使用正则表达式检验输入是否为数字
- C#中使用正则表达式初探(10月21日首发)
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C# 在.cs文件中使用正则表达式
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- C# 正则表达式 使用介绍
- [C#][固定格式网页解析]使用正则表达式处理网页的初步体会
- [转帖]C#如何使用正则表达式来校验字段串输入的系列函数
- C#正则表达式的使用