[英]RegEx Exactly Match Beginning and End of a String with a Wildcard in between
我正在搜索以下格式的字符串: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
。
您可以在用戶輸入上執行以下replace
:
var re = new RegExp(input.replace(/\*/g, '-0*'), "gi");
這會將ABC*2
轉換為/ABC-0*2/gi
regex,它將與ABC-002
匹配,但與ABC-012
不匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.