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

求匹配不含KO或OK单词的正则表达式解决方案

解决不含KO/OK单词的正则匹配问题

你之前用的[^OK|KO]没法满足需求,因为这是字符集匹配,它的意思是匹配单个不是O、K、|的字符,根本不是排除整个"OK"或"KO"单词,自然不管用。

正确的正则表达式

要实现「字符串中不存在独立的OK或KO单词就匹配」,可以用负向先行断言:

^(?!.*\b(OK|KO)\b).+$

如果需要允许匹配空字符串,把末尾的.+改成.*即可:

^(?!.*\b(OK|KO)\b).*$

表达式拆解

  • ^:匹配字符串的起始位置
  • (?!.*\b(OK|KO)\b):负向先行断言,扫描整个字符串,确保不存在作为独立单词的OK或KO。其中\b是单词边界,避免误判比如OKAY里的OK、KOKO里的子串这类情况
  • .+$:匹配任意非空字符直到字符串结尾(保证匹配非空的有效内容)

匹配验证

  • 匹配的字符串示例:20032023
  • 不匹配的字符串示例:20032023 KO、OK 123456 20032023

如果你的场景不需要严格区分独立单词(比如只要出现OK/KO子串就不匹配),可以去掉\b,用下面的表达式:

^(?!.*(OK|KO)).+$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 01:02:06