修改正则表达式:允许指定字符且禁止空方括号输入验证
正则表达式修改方案:禁止空方括号[]输入
原正则用于验证文本框输入,允许字母数字、下划线、连字符、方括号及空格:
r'^[a-zA-Z0-9_\-\[\] ]*$'
需调整规则,让包含空方括号[]的输入验证不通过,优化后的正则如下:
r'^(?![\s\S]*\[\])[a-zA-Z0-9_\-\[\] ]*$'
规则说明
(?![\s\S]*\[\]):负向前瞻断言,确保整个字符串里不存在连续的[]子串。[\s\S]*匹配任意字符(覆盖所有文本输入场景),\[\]精准匹配空方括号。[a-zA-Z0-9_\-\[\] ]*:保留原合法字符集,匹配任意数量的允许字符(字母、数字、下划线、连字符、方括号、空格)。
示例验证
- 有效输入:
- "Your message here"
- "Your [text] message here"
- "your_text_message [text]"
- 无效输入:
- "Your [] message here"
- "[] message"
内容的提问来源于stack exchange,提问作者padmaja cherukuri
相关产品推荐
相关产品推荐

