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

求匹配hello与world间单词数小于5的不区分大小写Regex写法

正则实现方案

原表达式错误原因

你编写的(?i)(hello\b{0-5}?world)无法正常运行,核心问题有两点:

  • \b是零宽单词边界断言,本身不匹配任何实际字符,无法直接通过加量词来代表单词数量
  • 范围量词写法错误,{0-5}为无效语法,正确的范围量词格式为{m,n}

正确正则表达式

适配完整hello单词场景

如果要求hello、world均为独立完整单词,使用如下表达式:

(?i)\bhello\W+(?:\w+\W+){0,4}world\b

适配包含hello的单词场景

如果允许hello为单词的一部分(适配你给出的Shellow示例),去掉hello前的单词边界即可:

(?i)hello\W+(?:\w+\W+){0,4}world\b

语法解释

  • (?i):开启全局不区分大小写匹配
  • \W+:匹配任意非单词字符(空格、标点等),兼容hello后紧跟标点的场景
  • (?:\w+\W+){0,4}:非捕获组,匹配0到4个单词+后续非单词字符,对应两个关键词之间间隔小于5个单词的要求
  • \b:单词边界,确保匹配到的是完整的world单词

测试结果

针对你给出的示例,匹配效果如下:

  • "HeLlo WORLD":✅ 符合要求(中间0个单词)
  • "Hello this is my world":✅ 符合要求(二者间隔3个单词)
  • "Hello, this should not be my world":❌ 不符合要求(二者间隔5个单词)
  • "Shellow: creature in my world":✅ 符合要求(二者间隔3个单词)

扩展说明

如果需要匹配整个完整字符串而非长文本中的子串,可以在正则首尾添加锚点,同时兼容首尾空格:

(?i)^\s*hello\W+(?:\w+\W+){0,4}world\b\s*$

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 16:45:04