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

正则表达式字符类含重复字符的SonarQube问题修复求助

修复SonarQube正则重复字符问题的方案

你的正则/^[a-zA-Z0-9,-_]*$/触发SonarQube提示的核心原因是:字符类中存在重复定义的字符,且错误使用-导致范围覆盖了已明确指定的字符。具体问题点:

  • -,和-_的写法让正则引擎将-解析为范围符号,-_覆盖了a-zA-Z0-9的部分字符(ASCII 45到95包含数字、大写字母等),造成重复。
  • -被重复包含在字符类中(一次通过范围,一次因写法失误重复)。

修正后的正则表达式(三种可选写法)

  • 写法1:将-放在字符类末尾(无需转义,最常用)
    var17regex = /^[a-zA-Z0-9,_-]*$/;
    
  • 写法2:将-放在字符类开头
    var17regex = /^[-a-zA-Z0-9,_]*$/;
    
  • 写法3:转义-(适合任意位置)
    var17regex = /^[a-zA-Z0-9,\-_]*$/;
    

说明

以上三种写法都明确指定了允许的字符:大小写字母、数字、逗号、连字符、下划线,同时避免了-被解析为范围符号,彻底消除了重复字符的问题,符合SonarQube的规则要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 02:46:06