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

求助:编写正则表达式检测字符串中的除零运算场景

检测除零运算的正则方案

核心逻辑

分两步判断:

  1. 若字符串包含单引号(')或双引号("), 直接返回false
  2. 若字符串存在除法运算符后紧跟纯0序列的合法运算场景, 返回true, 否则返回false

正则表达式实现

第一步:检查引号

匹配规则:['"]
只要字符串匹配该正则,直接判定为false

第二步:检测除零运算

匹配规则:

(?:^|[+\-*/&|<>()\s])\s*/\s*0+(?=\s*(?:[+\-*/&|<>()\s]|$))

正则解释

  • (?:^|[+\-*/&|<>()\s]): 匹配字符串开头,或任意合法运算符、括号、空格,确保/是作为除法运算符使用,而非字符串/标识符的一部分
  • \s*/\s*: 匹配除法运算符/,前后允许任意数量的空格
  • 0+: 匹配一个或多个连续的0(即纯0组成的除数)
  • (?=\s*(?:[+\-*/&|<>()\s]|$)): 正向预查,确保除数后是空格+运算符/括号/空格,或字符串结尾,避免误判/001这类除数为非0的情况

验证示例

  • 匹配(返回true):
    • <<Employee Profile/Employee Data/Employee/Age>> / 1 * <<Employee Profile/Employee Data/Employee/Age>> / 00 + <<Employee Profile/Employee Data/Employee/Gender>> / 001(包含/ 00)
    • <<Employee Profile/Employee Data/Employee/Age>>/0
    • 1 / 0000 + 1 / 00
    • 1/0
  • 不匹配(返回false):
    • LENGTH("/0")(包含引号)
    • 100/001(除数为001,即1)
    • abc/0x12(除数为0x12,非纯0)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 02:41:56