这里要强调的是这个词准确。这需要适用于任意数量的排列,所以希望我的例子足够清楚。
给定一串随机字母,是否有可能(使用 RegEx)匹配给定字符串中的确切数量的字母?
因此,如果我有一个str1
包含字母的字符串 ( )ABZBABJDCDAZ
并且我想匹配字母JDBBAA
( str2
),我的函数应该返回,true
因为str1
包含足够多的所有正确字母。但是str1
,如果要更改为ABAJDCDA
,则该函数将false
根据str2
需要返回str1
至少有2 个字母实例B
。
这是我到目前为止使用范围的内容:
const findLetters = (str1, str2) => {
const regex = new RegExp(`[${str2}]`, 'g')
const result = (str1.match(regex))
console.log(result)
}
findLetters('ABZBABJDCDAZ', 'JDBBAA')
如您所见,它匹配正确的字母,但它匹配它们的所有实例。有什么方法可以使用 RegEx 做我想做的事吗?我在这里关注 RegEx 的原因是因为我需要对这段代码进行高度优化,而到目前为止,我的其他函数使用Array.every()
和indexOf()
都太慢了。
注意:我的函数只需要返回一个true/false
值。
翻阅古今
翻翻过去那场雪
相关分类