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

修复简单算术表达式匹配Regex:限制等号仅出现一次且后接数字

修正匹配简单算术表达式的正则(限制等号仅出现一次)

原正则 ^[+-]?\d+([/*+-]\d+)*([/*+-]*=(?:[+-]?\d+([/*+-]\d+)*)+)*$ 会错误匹配 7=7=7 这类多等号的非法表达式,下面是调整后的解决方案:

修正后的正则表达式

^[+-]?\d+([/*+-]\d+)*(?:[/*+-]*=[+-]?\d+([/*+-]\d+)*)?$

关键调整说明

  • 把原正则中允许等号重复的 (...)* 结构改成可选的单次匹配,直接限制等号最多出现一次
  • 明确要求等号后必须跟完整的合法算术表达式([+-]?\d+([/*+-]\d+)*),杜绝了 0= 这类等号后为空的情况
  • 保留了原正则对开头非法表达式(如 *23)的过滤逻辑

测试验证

合法匹配内容

  • 纯算术表达式:123、-45+6*7、+8/9-10
  • 单等号等式:7=7、1+2=3*4、-5*-6=+7+8

被排除的非法内容

  • 多等号表达式:7=7=7
  • 等号后无内容:0=
  • 开头运算符非法:*23、/45

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 18:05:06