首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式以匹配给定单词中的所有单词和包含给定的单词

正则表达式以匹配给定单词中的所有单词和包含给定的单词
EN

Stack Overflow用户
提问于 2022-03-08 02:45:21
回答 1查看 92关注 0票数 0

我正在寻找一个正则表达式(使用JavaScript)来匹配包含给定单词中所有或部分字母子集的所有3-6个字母单词。例如,如果我说的是“救援”,那么我应该匹配“使用”、“治愈”、“重用”、“安全”等等。我现在拥有的是:

代码语言:javascript
复制
\b(?!\w*(\w)\w*\1)[rescue]{3,6}\b

...And这是有效的,但对重复的字母。它与2 E的单词不匹配:

rescue最多应该匹配1 rscu,最多匹配2e的。

我被卡住了。我不擅长这些事情,这也是一个奇迹,我已经走了这么远。这不是我需要快速或频繁地执行的操作,并且单词列表仅为2万字左右。我不关心最有效的解决方案。我希望能得到一些帮助。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 07:37:00

您不需要消极的展望,因为它目前是如何编写的,这部分(?!\w*(\w)\w*\1)断言,右边的不是一个可以在\w*\1中再次出现的单词char (\w)

相反,您可以先断言长度,然后匹配一个字符r e s c u e

代码语言:javascript
复制
\b(?!\w*([rescue])\1)(?=\w{3,6}\b)\w*[rescue]\w*\b

看一个regex 101演示

如果单词只能由列出的字符组成:

代码语言:javascript
复制
 \b(?!\w*([rescue])\1)[rescue]{3,6}\b

看另一个regex 101演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71389465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档