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

求可匹配含至少一个星号的所有单词的Regex模式

嘿,我来帮你构建符合需求的正则表达式!你需要匹配任意位置包含至少一个星号(*)的单词,包括全星号的情况,还有带撇号的比如t*eir's这类。

核心正则模式
(?<!\S)[^\s]*[*]+[^\s]*(?!\S)
模式解释

让我拆解一下这个模式的各个部分,帮你理解它的作用:

  • (?<!\S):这是一个负向后环视,确保当前位置的前面不是非空白字符(也就是前面要么是字符串开头,要么是空白字符),用来界定单词的起始边界。
  • [^\s]*:匹配任意数量(包括0个)的非空白字符,这部分是星号前面的内容,可以是空(比如*pp这种开头就是星号的情况)。
  • [*]+:匹配至少一个星号,这是我们的核心匹配条件,确保单词里至少有一个*。
  • [^\s]*:匹配任意数量(包括0个)的非空白字符,对应星号后面的内容,可以是空(比如locall*这种结尾是星号的情况,或者全星号的****)。
  • (?!\S):这是一个负向前环视,确保当前位置的后面不是非空白字符(也就是后面要么是字符串结尾,要么是空白字符),用来界定单词的结束边界。
验证示例

这个模式可以完美匹配你给出的所有目标单词:

  • t*e ✅
  • *pp ✅
  • locall* ✅
  • q**st*on ✅
  • **stinct ✅
  • *ro* ✅
  • t*eir's ✅
  • *ev***heles* ✅
  • **** ✅

如果你的“单词”定义是基于传统的单词字符(比如仅字母、撇号,不含其他特殊字符),也可以调整成更严格的版本:

(?<!\S)[a-zA-Z']*[*]+[a-zA-Z']*(?!\S)

这个版本会只允许星号前后是字母或撇号,排除其他非空白的特殊字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 06:58:18