RegExp 查找单词中的跳过字母

标签 regex

我想找到单词,即使这个单词是用跳过字母写的。

比如我想找

引用文献

我还想找到引用引用,但不是引用

我写这个正则表达式

(\brefe?r?e?n?c?e?s?\b)

我想添加对匹配组长度的检查,该组应该大于 8。 我可以只使用正则表达式方法吗?

最佳答案

我不认为正则表达式是像您尝试的那样查找相似单词的好工具。如果两个字母交换了,比如“reference”,你会做什么?您的正则表达式将找不到它。

但是要显示正则表达式检查长度的方法,您可以使用这样的前瞻来实现

(\b(?=.{8,}\b)refe?r?e?n?c?e?s?\b)

(?=.{8,}\b) 将检查从第一个 \b 到下一个 \b 的长度是否> 至少 8 个字符 ({8,})

查看here on Regexr

关于RegExp 查找单词中的跳过字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7684393/

相关文章:

javascript - 从 Webpack 的 require.context 中排除文件

正则表达式问题 -\d 之后的星号

Java:正则表达式验证 URL

regex - 正则表达式文本 block

python - 难以理解正则表达式方法 findall

java - 在 Java 中使用 Regex 解析 CSV 文件

python - 如何在python中从文件名的下划线后提取特定数字

javascript - 只需要获取 ID 的一部分(最后一个下划线之后的所有内容)

用于查找单词的 Ruby 正则表达式

C# 正则表达式匹配 Url 文件夹模式