Javascript 如何将2个字母的特定组合与正则表达式匹配

Javascript 如何将2个字母的特定组合与正则表达式匹配,javascript,regex,Javascript,Regex,考虑到这组字母 xx | af | an | bf | bn | cf | cn 如果给定两个字符,我如何查看它们是否与上面的其中一个匹配 我可以很容易地用开关盒硬编码解决方案,但我认为正则表达式是一个更优雅的解决方案 基本上你自己编写了正则表达式: xx | af | an | bf | bn | cf | cn试试这个: ^(xx|af|an|bf|bn|cf|cn)$ xx => Correct af => Correct aff => Incorrect kk

考虑到这组字母

xx | af | an | bf | bn | cf | cn

如果给定两个字符,我如何查看它们是否与上面的其中一个匹配


我可以很容易地用开关盒硬编码解决方案,但我认为正则表达式是一个更优雅的解决方案

基本上你自己编写了正则表达式:

xx | af | an | bf | bn | cf | cn

试试这个:

^(xx|af|an|bf|bn|cf|cn)$

xx  => Correct
af  => Correct
aff => Incorrect
kk  => Incorrect

如前所述,您自己编写了正则表达式,可以将其简化为

var re = /xx|[abc][fn]/
您可以使用以下代码:

// regex to match your words
var re = /\b(xx|af|an|bf|bn|cf|cn)\b/g; 

// your text string
var str = 'as ww zx af ad we re an ana ';
var m;

while ((m = re.exec(str)) != null) {
    if (m.index === re.lastIndex) {
        re.lastIndex++;
    }
    // View your result using the m-variable.
    // eg m[0] etc.
}


试试这个解决方案:这是一个解决方案!由于规范是“给定两个字母”,锚似乎是不必要的。甚至
/xx |[abc][fn]/
。所有答案都是正确的,但我会选择这个,因为它确实符合我用例的语义:要么是xx,要么是字符abc和fn之间的可能组合(它们在我的代码中有特定的含义)。谢谢