我有一个大约 12 万个英语单词的列表(基本上是语言中的每个单词)。
我需要一个正则表达式,它允许使用通配符(aka*
和?
.
几个例子:
- 如果用户搜索
m?st*
,它将匹配例如master
ormister
或mistery
。 - 如果用户搜索
*ind
(任何以 结尾的单词ind
),它将匹配wind
orbind
或blind
orgrind
。
现在,大多数用户(尤其是那些不熟悉正则表达式的用户)都知道这?
是替换正好 1 个字符,而*
替换是替换 0、1 个或更多字符。我绝对想在此基础上构建我的搜索功能。
我的问题是:如何将用户类型(m?st*
例如)转换为正则表达式?
我搜索了网络(显然包括这个网站),我能找到的只是那些试图教给我太多东西的教程或有些相似的问题,但不足以为我自己的问题提供答案。
我能想到的只是我必须?
用.
. 就这样m?st*
变成了m.st*
。但是,我不知道用什么代替*
。
任何帮助将不胜感激。谢谢你。
PS:我对正则表达式完全陌生。我知道它们有多么强大,但我也知道它们可能很难学习。所以我只是从来没有花时间去做...