RegEx与字符串的开头和结尾完全匹配,中间带有通配符

时间:2015-10-22 22:04:32

标签: javascript regex

我正在使用以下格式搜索字符串:ABC-001

我想从用户文本输入字段构建一个RegEx搜索,以便我可以搜索:

ABC* and match ABC-001, ABC-002, and so on...
ABC*2 and match ABC-002 but NOT ABC-012
ABC*12 and match ABC-012

我知道我需要做一些字符串操作才能从用户输入转到正则表达式,但作为一个例子我构建了一个像这样的正则表达式:

^ABC.*2$

不幸的是,这与ABC-002ABC-012匹配。

1 个答案:

答案 0 :(得分:0)

您可以对用户输入执行此操作replace

var re = new RegExp(input.replace(/\*/g, '-0*'), "gi");

这会将ABC*2转换为/ABC-0*2/gi正则表达式,这将与ABC-002匹配,但与ABC-012不匹配。