[英]A question about this RegExp \b[alpahbet]{number}\w+
我的RegExp是\\ b [alpahbet] {number} \\ w +( 帶有全局選項 )
例如)
1. \\b[EWZFKXRIVM]{9}\\w+
稱為regA
2. \\b[KVEWZRXIMA]{9}\\w+
稱為regB
我想嘗試匹配的總字符串是EWZFKXRIVM, KVEWZRXIMA, FAMITWEPJQ, DOXEAUZJKF
我要實現的是以任何順序匹配字符串
例如,
與regA(EWZFKXRIVM)
,它匹配EWZFKXRIVM, KVEWZRXIMA
與regB(KVEWZRXIMA)
匹配,僅匹配KVEWZRXIMA
。 但我期望EWZFKXRIVM, KVEWZRXIMA
所以我的問題是
有這樣的數組列表
list = [NDRPYXVBMT,PJZEXWHSMN,FUGLCTQSOP,ADQSFENPYG,
KPDFGQUIVH,DEISNLCKHG,DIRKJVQHMZ,YARDFTNPWO,RAGZFMJKIY,
PEKWHSFZGR,UJOTIBRYEH,MAZNSJHXTP,CBNETZXHIY,TIYRJSONWG,
FUCAMVLNDI,KXRMGDPOHU,GPMKEUFLQJ,YHBURQPOFM,VKURNBXTIH,
IGLOTVNPEY,SLCGRJOPYB,HUDGIFNTPM,EPHLCQZFOR,TYDIAVUQZW,
KTYBZPXSHG,CWXMLTFDJI,ERCJSWPFYH,TQSHIKRCMJ,JHBOYCFWAK,
NPVAMTLXBQ,BIWAUNPSOT,TQZARXMSLH,JLYDFHWMTN,XODHNVFCWM,
EWZFKXRIVM,KVEWZRXIMA
]
我會像這樣循環
for ( let i = 0; i < list.length; i ++){
// i will make RegExp using each String
const regex = new RegExp('\\b[' + list[i] + ']{' + increase + '}\\w+', 'g');
const matchedList = list.toString().match(regex)
}
increase
的變量用於匹配計數,以便獲得每個項目的最大值
TQZARXMSLH, JLYDFHWMTN
等。
正則表達式\\b[KVEWZRXIMA]{9}\\w+
意思是:在單詞邊界之后且KVEWZRXIMA
至少一個其他單詞字符之前,將匹配的KVEWZRXIMA
9個字符彼此相鄰。 集合中字符的順序無關緊要。 這是一組無序的字符。
該字符串將匹配例如KKKKKKKKKh
因為彼此KKKKKKKKKh
有9個字符,並且所有這9個字符都在預定義集中( K
在[KVEWZRXIMA]
)。 因此,如果要匹配所有字母字符,則只能使用[AZ]{9}
,它必須是[AZ]
集中的字符9次。
如果要依賴字符的順序,則不能使用無序的字符集,但實際上需要使用正則表達式( []
之外)中的字符。
如果您還有其他問題,請發表評論。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.