JavaScript:Regex用于两个字符的国家/地区代码
我想对这3个两个字符的国家代码进行正则表达式:JavaScript中的de、fr、esJavaScript:Regex用于两个字符的国家/地区代码,javascript,regex,Javascript,Regex,我想对这3个两个字符的国家代码进行正则表达式:JavaScript中的de、fr、es /^(de|fr|es)/i 这是正确的吗?是的,这是正确的。但它也适用于“fr”和“french”。 下面是一个测试正则表达式的神奇网站: 如果它是字符串包含的所有内容,那么您还应该检查字符串是否在此处结束 /^(?:de|fr|es)$/i 您可以通过查找单词边界来确保它与法语不匹配 /\b(de|fr|es)\b/i 这将在这些示例中的任何一个中匹配fr,de或fr de或fr de,但在法国或自
/^(de|fr|es)/i
这是正确的吗?是的,这是正确的。但它也适用于“fr”和“french”。 下面是一个测试正则表达式的神奇网站:
如果它是字符串包含的所有内容,那么您还应该检查字符串是否在此处结束
/^(?:de|fr|es)$/i
您可以通过查找单词边界来确保它与法语不匹配
/\b(de|fr|es)\b/i
这将在这些示例中的任何一个中匹配fr
,de或fr de
或fr de
,但在法国
或自由
可能更具体于您要查找的内容。根据字符串的确切外观,您有几个选项:
/^(?:de|fr|es)$/ // string contains only county code
/\b(?:de|fr|en)\b/ // looking for word boundaries
// so it matches "en" but not "english"
很可能您不需要捕获组,这就是为什么使用(?:)
使其不捕获。/\b[de|fr|es]\b/i.test('e')==true
您使用了错误的括号。