我需要一个正则表达式,允许使用通配符字符,即
*
和?
搜索这些单词。一些例子:
- 如果用户搜索
m?st*
,它将匹配例如master
或mister
或mistery
。
- 如果用户搜索*ind
(任何以ind
结尾的单词),它将匹配wind
或bind
或blind
或grind
。现在,大多数用户(特别是那些不熟悉正则表达式的用户)知道
?
是替换正好1个字符,而*
是替换0、1或多个字符。我绝对希望基于此构建我的搜索功能。我的问题是:如何将用户输入的内容(例如
m?st*
)转换为正则表达式?我搜索了网络(显然包括本网站),但我找到的都是试图教我太多东西的教程或类似的问题,但无法提供答案。
我能想到的就是必须用
.
替换?
。因此,m?st*
变成了m.st*
。但我不知道用什么替换*
。非常感谢您的任何帮助。谢谢。
PS:我完全是新手正则表达式。我知道它们可以有多强大,但我也知道它们很难学习。所以我从来没有花时间去做...
^\w..
,您可能不想以原始形式将其传递到正则表达式引擎。 - Garethword|definition1;definition2;definition3
。因此,分隔符为|
和;
。注意:定义可以有任意数量(1、2、3等)。希望这可以帮到你。祝你好运。 - Radu Murzea