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

如何用单一正则表达式(Regex)匹配第二个字符为O且以IONS结尾的单词?

解决方案

你需要的正则表达式可以这样写:

^(?=.{1}O)[A-Z]*IONS$

正则说明

  • ^(?=.{1}O):正向预查规则,确保字符串的第二个字符是大写O(.{1}匹配第一个任意大写字母,紧接着必须是O,对应分步筛选的第一个条件)。预查仅做条件验证,不消耗字符,不会限制后续结尾匹配的长度。
  • [A-Z]*IONS$:匹配由任意数量大写字母组成、且以IONS结尾的字符串(对应分步筛选的第二个条件)。其中[A-Z]*可以匹配0个字符,因此能兼容IONS本身——它既满足第二个字符是O,又符合以IONS结尾的要求。

原正则的问题

你之前使用的^.O[A-Z]*IONS$要求字符串前两位为「任意字符+O」,后续再接「任意大写字母+IONS」,总长度至少为6位(2位+4位),但IONS仅4位,无法满足该长度限制,因此被排除。而新正则通过预查分离“第二个字符是O”的条件,不占用长度配额,完美覆盖短单词场景。

测试验证

  • 匹配CONGRATULATIONS:第二个字符是O,结尾为IONS,符合条件
  • 匹配IONS:第二个字符是O,结尾为IONS,符合条件
  • 不匹配ACTION(第二个字符非O)、OPERATIONS(第二个字符为P)等不符合要求的单词

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:35:19