Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 验证算术公式_Java_Regex - Fatal编程技术网

Java 验证算术公式

Java 验证算术公式,java,regex,Java,Regex,我需要验证一个计算学科等级的公式: 所有标识符(A1、A2、A3等)均基于教师创建的测试、家庭作业等。下面是一个常见公式的示例: ( (A1+A2+A3) / 3) * (B2+B3) 在这种情况下,我只需要验证公式结构,如: 非闭括号(完成) 空括号组“()”(完成) 重复的运算符,如“(A1++A2)” 重复的不同运算符,如“(A1-*A2)” 公式中的所有标识符(如A1、A1、等)已由最终用户通知,且未经验证 有效配方样本: (((A1+A2+A3)/3)*2) + (((B1+B2

我需要验证一个计算学科等级的公式:

所有标识符(A1、A2、A3等)均基于教师创建的测试、家庭作业等。下面是一个常见公式的示例:

( (A1+A2+A3) / 3) * (B2+B3)
在这种情况下,我只需要验证公式结构,如:

  • 非闭括号(完成)
  • 空括号组“()”(完成)
  • 重复的运算符,如“(A1++A2)”
  • 重复的不同运算符,如“(A1-*A2)”
公式中的所有标识符(如A1、A1、等)已由最终用户通知,且未经验证

有效配方样本:

(((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3)*3)
+ (((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3) / 3++)
无效公式示例:

(((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3)*3)
+ (((A1+A2+A3)/3)*2) + (((B1+B2+B3)/3) / 3++)

正则表达式是非常有用的,您需要一个上下文无关的语法来解析此类内容(或验证)。否则,您只能应用启发式…

Regex不是执行此类任务的正确工具。搜索
中缀符号验证
并尝试实现它。查看@I'll try implement your tip和@SAbbasizadeh's tip。谢谢