我想要这三个双重国家代码的正则表达式:de,fr,es在JavaScript中。
/^(de|fr|es)/i
这是对的吗?
答案 0 :(得分:1)
如果所有字符串都包含,那么你还应检查字符串是否在那里结束,
/^(?:de|fr|es)$/i
答案 1 :(得分:0)
是的,这是正确的。但它也适用于“fr”和“french”。 这是一个用于测试正则表达式的神奇网络:
答案 2 :(得分:0)
您可以通过查找单词边界来确保它与法语不匹配。
/\b(de|fr|es)\b/i
这将与fr
或fr,de
或fr de
中的fr-de
或france
或freedom
中的{{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"
您很可能不需要捕获组,这就是使用(?:)
使其无法捕获的原因。