You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java正则表达式提取计算器表达式第二个操作数的问题

提取计算器表达式的第二个操作数

针对你的需求,这里提供两种简单可行的实现方式:

方法一:正则匹配直接提取

利用正则表达式定位运算符(+、-、*、/)后的整数,同时忽略末尾的等号。正则逻辑是匹配任意运算符后紧跟的一串数字,直到等号前结束。

Java代码示例:

String expr = this.display.getText();
// 匹配运算符后的整数,捕获组1即为第二个操作数
Pattern p = Pattern.compile("[-+*/](\\d+)=");
Matcher m = p.matcher(expr);
if (m.find()) {
    String secondOperand = m.group(1);
    // 此处可对secondOperand进行后续处理
}

方法二:拆分后处理

基于你已有的拆分思路,按运算符拆分表达式后,取第二部分并去掉末尾的等号即可。由于第一个操作数的负号属于数字的一部分,不会被当作运算符拆分,因此无需担心拆分错误。

Java代码示例:

String expr = this.display.getText();
// 按+、-、*、/拆分表达式
String[] parts = expr.split("[-+*/]");
if (parts.length == 2) {
    // 去掉第二部分末尾的等号
    String secondOperand = parts[1].replace("=", "");
    // 此处可对secondOperand进行后续处理
}

验证示例输入

针对你给出的测试用例:

  • 输入-23+253=:两种方法均提取到253
  • 输入34-83767=:两种方法均提取到83767
  • 输入-74567*3229765=:两种方法均提取到3229765

内容的提问来源于stack exchange,提问作者Joncarre

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 16:57:41