验证公式正确性 使用java下的正则表达?验证公式的正确性目前我认为在java下 用正则表达式比较好实现,但是正则表达式我不太会公式的的是第一位为K或Z或C;第二位是数字,例如0;第三位是$,

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 03:52:41

验证公式正确性 使用java下的正则表达?验证公式的正确性目前我认为在java下 用正则表达式比较好实现,但是正则表达式我不太会公式的的是第一位为K或Z或C;第二位是数字,例如0;第三位是$,
验证公式正确性 使用java下的正则表达?
验证公式的正确性
目前我认为在java下 用正则表达式比较好实现,但是正则表达式我不太会
公式的的是第一位为K或Z或C;第二位是数字,例如0;第三位是$,即美元;第四位以后是数字,但是位数不限,可以有小数点.以上规则例如是Z0$1001.98是符合规则的.
可以函数,例如max(Z1$1001-Z1$1001,0),或是If {Z0$1001

验证公式正确性 使用java下的正则表达?验证公式的正确性目前我认为在java下 用正则表达式比较好实现,但是正则表达式我不太会公式的的是第一位为K或Z或C;第二位是数字,例如0;第三位是$,
//搞到需求5了.剩下的有空继续搞
public class DateTest {
public static void main(String args[]) throws Exception{
String str1 = "(Z0$1001+K1$1001)+C2$1001-max(Z1$1001-Z1$1001,0)";
System.out.println(validateExpression(str1));
}
public static boolean validateExpression(String expression) {
//去掉算式中所有的合法项替换为"?"字符
expression = expression.replaceAll("((K|Z|C)\\d\\$(\\d)+(\\.(\\d)*){0,1})",");
//去掉替换后算式中所有的空格
expression = expression.replaceAll(" ","");
//如果有两个相邻的项中间没有操作符,则算式不合法
if(expression.matches("^?$")) {
return false;
}
/**
* 增加你需要的函数运算符,如果函数内部参数结构不同则需要改写正则表达式
*/
//如果包含合法max运算符,则替换max运算符为"?"字符
System.out.println("max:" + expression);
if(expression.matches("^(.)*max\\(\\?-\\?,\\d\\)(.)*$")) {
expression = expression.replaceAll("max\\(\\?-\\?,\\d\\)",");
}
System.out.println("max:" + expression);
/**
* 增加你需要的程序块运行符,如果程序块内部参数结构不同则需要改写正则表达式
*/
//FIXME if-else语句块未实现,等待实现
//如果包含合法if-else语句块,则替换if-else语句块为"?"字符
// if(expression.matches("^(.)*if\\{(.)*\\}(.)*$")) {
// expression = expression.replaceAll("max\\(\\?-\\?,\\d\\)",");
// }
//必须是倒数第二步:判断小括号左右括弧是否等同,括弧位置是否合法,如果括弧全部合法,则去掉所有括弧
int num = 0;
char[] expChars = expression.toCharArray();
for(int i = 0; i < expChars.length; i ++) {
char temp = expChars[i];
if(temp == '(') {
num++;
} else if(temp == ')') {
num--;
}
if(num < 0) {
return false;
}
}
if(num > 0) {
return false;
}
expression = expression.replaceAll("\\(|\\)","");
System.out.println(expression);
//必须是最后一步:判断仅剩的+-*/四则运算算式是否合法
System.out.println(expression);
if(expression.matches("^\\?((\\+|-|\\*|\\/)\\?)*$")) {
return true;
} else {
return false;
}
}
}

验证公式正确性 使用java下的正则表达?验证公式的正确性目前我认为在java下 用正则表达式比较好实现,但是正则表达式我不太会公式的的是第一位为K或Z或C;第二位是数字,例如0;第三位是$, java 正则表达式 求验证密码必须由字母和数字组成的正则表达式 正则表达 正则表达式验证邮箱的问题要求只需使用半角英文字母,英文和数字还有下划线同时这两种邮箱都能验证通过 有谁知道那些实验能够验证相对论的正确性啊? 求一个验证数字,小数点的正则表达式(只能为整数和小数的正则) 设计一个实验,验证 潭清疑水浅 这句话的正确性.设计一个实验,验证 潭清疑水浅 这句话的正确性. 求一些常用的正则表达试. java随机机器如何使用.比如说产生一个1~35的随机数.有点不理解.希望高手提供下随机数的公式... 如何使用正则表达式判断用户输入的公式是否合法.允许四则混合运算和多重括号. 能用哪些不同的办法验证平方差公式?图形用文字表达表达清楚详细 验证罗尔定理对函数y=lnsinx在区间[派/6,5派/6]上的正确性如题,麻烦解释下,看不懂= = 求一JS验证:验证0-100的数字.不好意思,我想问的是利用正则表达式进行JS验证, Java中Pattern pattern = Pattern.compile((\d)*);正则表达式的含义是什么? java中的多态的定义是什么啦 什么情况下使用多态啊?多态有什么作用 高中的动能定理既然是从牛顿定律结合运动学公式推得,还有验证的必要么?尤其是使用类似验证牛顿第二定律的装置进行验证? php正则表达 获取 href 和a标签的title 到底有多少实验验证相对论的正确性,又有多少实验验证相对论是错的?