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

正则表达式校验:检测字符串是否包含非允许词汇

校验字符串是否仅包含指定词汇的正则表达式方案

需求回顾

需要验证输入字符串是否仅由以下预定义词汇/短语(含空格的完整短语)以及分隔它们的空格组成:

  • What is
  • plus
  • minus
  • multiplied by
  • divided by
    若存在上述内容之外的任意字符(如单词、数字等),则判定为存在无效内容。

正则表达式实现

1. 验证字符串完全合法(匹配成功则无无效内容)

^\s*(?:What is|plus|minus|multiplied by|divided by)(?:\s+(?:What is|plus|minus|multiplied by|divided by))*\s*$

2. 检测是否存在无效内容(匹配成功则说明有未认可内容)

^(?!\s*(?:What is|plus|minus|multiplied by|divided by)(?:\s+(?:What is|plus|minus|multiplied by|divided by))*\s*$).+

逻辑说明

  • 合法验证正则:

    • ^ 和 $ 锚定整串,确保没有遗漏字符
    • \s* 允许字符串前后出现任意空白(包括无空白)
    • 非捕获组 (?:...) 匹配单个允许的词汇/短语
    • (?:\s+(?:...))* 支持多个允许词汇用空格分隔,* 表示可以有0个或多个后续词汇(即单个词汇也合法)
  • 无效检测正则:
    基于合法验证逻辑添加负向预查 (?!...),如果字符串不符合合法规则,就会匹配整个字符串,直接判定存在无效内容。

示例测试

  • 合法输入:What is minus multiplied by → 匹配合法正则,无无效内容
  • 非法输入:What is plus abc divided by → 匹配无效检测正则,确认存在未认可的abc

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:17:16