JavaScript:两个char国家/地区代码的正则表达式

时间:2012-11-07 15:24:57

标签: javascript regex

我想要这三个双重国家代码的正则表达式:de,fr,es在JavaScript中。

/^(de|fr|es)/i

这是对的吗?

4 个答案:

答案 0 :(得分:1)

如果所有字符串都包含,那么你还应检查字符串是否在那里结束,

/^(?:de|fr|es)$/i

答案 1 :(得分:0)

是的,这是正确的。但它也适用于“fr”和“french”。 这是一个用于测试正则表达式的神奇网络:

http://gskinner.com/RegExr/

答案 2 :(得分:0)

您可以通过查找单词边界来确保它与法语不匹配。

/\b(de|fr|es)\b/i

这将与frfr,defr de中的fr-defrancefreedom中的{{1}}匹配,但不会与{{1}}或{{1}}

可能更具体到你想要的东西。

答案 3 :(得分:0)

根据字符串的确切外观,您有以下几种选择:

/^(?:de|fr|es)$/ // string contains only county code

/\b(?:de|fr|en)\b/ // looking for word boundaries 
                   // so it matches "en" but not "english"

您很可能不需要捕获组,这就是使用(?:)使其无法捕获的原因。