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

如何用正则表达式匹配含指定必填字符的任意顺序合法单词?

解决正则匹配问题的方案

你需要的正则表达式是:^(?=.*d)[dyujkfec]+$

表达式拆解:

  • ^ 和 $:锁定整个单词的首尾,确保匹配的是完整单词而非片段
  • (?=.*d):正向预查规则,强制要求字符串里至少包含一个d,满足必填项要求,且不限制d的位置
  • [dyujkfec]+:匹配一个或多个仅来自指定集合的字符(必填d加上可选的yujkfec),字符顺序不做限制

匹配验证:

  • 符合要求的匹配项:duck、dey、feed、yudekk、dude、jude、dedededy、jejeyyyjd 都会被成功匹配——它们既包含必填的d,所有字符也都在允许的集合内
  • 不含必填d的yuck、feck:因未通过预查规则,无法被匹配
  • 含集合外字符的sucked(含s)、shock(含s、h、o)、blah(含b、l、a、h)、food(含o)、bard(含b、a、r):因包含指定集合外的字符,会被[dyujkfec]+规则排除

你之前写的^[d]+[yujkfec]*$只限定了d在开头,而正向预查没生效大概率是写法有误,比如没结合首尾锚点,或者字符集合没有覆盖所有允许的字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:10:12