我正在使用以下格式搜索字符串: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-002
和ABC-012
匹配。
答案 0 :(得分:0)
您可以对用户输入执行此操作replace
:
var re = new RegExp(input.replace(/\*/g, '-0*'), "gi");
这会将ABC*2
转换为/ABC-0*2/gi
正则表达式,这将与ABC-002
匹配,但与ABC-012
不匹配。