簡體   English   中英

RegEx精確匹配字符串的開頭和結尾,中間使用通配符

[英]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-002ABC-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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM