仅在字符后总是跟相同字母(随机和未知)的情况下,如何查找字符?
例如:
kelmqaetrstaeiii
例如,以字母a
为例,它两次后跟同一个字母e
,所以我希望能找到它,但要注意以下几点:
kelmqaetrstafiii
我们有ae
和af
,在a
之后有2个字母不同的字母,在这种情况下,不应采取任何措施。
有可能吗?
答案 0 :(得分:1)
您可以遍历字符串,并检查字符串中是否已存在一对:
function hasPair(str) {
const dupe = {};
for (let index = 0; index < str.length - 1; index++) {
const pair = str.substr(index, 2);
if (dupe[pair])
return pair;
dupe[pair] = true;
}
return false;
}
console.log(
hasPair("kelmqaetrstaeii"),
hasPair("kelmqaetrstaii")
);
答案 1 :(得分:0)
匹配第一个字母,然后使用前瞻,匹配第二个字母,并使用反向引用:
const re = /(\w)(?=(\w).+\1\2)/;
console.log('kelmqaetrstaeiii'.match(re)[0]);
console.log('kelmqaetrstafiii'.match(re));