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

正则表达式校验需求:引号需成对出现或不使用

正则表达式修正:实现引号成对校验需求

问题描述

原正则表达式 [-0-9a-zA-Z \/_:.,;=\'{0,2}"{0,2}\s]+$ 用于校验内容是否仅包含字母、数字及指定特殊字符(- _ , . ; ' " / =),但单引号(')和双引号(")的校验逻辑失效——无法限制引号必须成对出现(仅允许0次或2次,禁止1次)。

修正后的正则表达式

^(?=(?:[^']*'[^']*')?$)(?=(?:[^"]*"[^"]*")?$)[-0-9a-zA-Z \/_:.,;='"\s]+$

逻辑说明

  1. 引号次数控制:
    • (?=(?:[^']*'[^']*')?$):通过正向预查确保单引号仅出现0次或2次
    • (?=(?:[^"]*"[^"]*")?$):通过正向预查确保双引号仅出现0次或2次
  2. 合法字符范围:[-0-9a-zA-Z \/_:.,;='"\s]+ 限定所有字符必须是字母、数字、指定特殊字符或空格

校验示例

  • 允许通过:
    • 无引号:hello; max
    • 成对双引号:"hello; max"
    • 成对单引号:'hello; max'
  • 禁止通过:
    • 单个双引号:"hello; max
    • 单个单引号:hello'; max
    • 奇数个引号:'''hello; max

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 02:05:29