javascript:如何使用正则表达式从url提取国家代码
url中有国家代码,我需要通过正则表达式和javascript提取 所以我可能的url是 我尝试了这些代码,但正则表达式适用于特定类型的urljavascript:如何使用正则表达式从url提取国家代码,javascript,regex,Javascript,Regex,url中有国家代码,我需要通过正则表达式和javascript提取 所以我可能的url是 我尝试了这些代码,但正则表达式适用于特定类型的url var url = "http://example.com/gb/index.aspx"; //Get the language code var countrycode = /com\/([^\/]+)/.exec(url)[1]; 当url看起来像时,上面的代码起作用,但当url看起来像或时,上面的代码就不起作用。所以请告诉我我需要使用哪个正
var url = "http://example.com/gb/index.aspx";
//Get the language code
var countrycode = /com\/([^\/]+)/.exec(url)[1];
当url看起来像时,上面的代码起作用,但当url看起来像或时,上面的代码就不起作用。所以请告诉我我需要使用哪个正则表达式,它可以从上述3种不同的url中提取国家代码。需要一些提示。谢谢^.{8}[^\/]*\/([^\/]*)
:开始时锚定^
:跳过前8个字符(http://){8}
:匹配除“/”以外的任何字符[^\/]
匹配其后的第一个斜杠\/
:创建一个新组并匹配除“/”以外的任何字符(这是国家代码)([^\/]*)
var url=[
"http://example.com/gb/index.aspx",
"http://localhost:2020/gb/index.aspx",
"http://example:2020/gb/index.aspx"
];
var rxGetCountryCode=/^.{8}[^\/]*\/([^\/]*)/;
forEach(函数(str){
console.log(rxGetCountryCode.exec(str)[1]);
});代码>可能的帮助:请尝试location.pathname.split('/')[1]
。在这个页面中,返回“questions”
如果国家总是在域后,就像这样,charliefl的建议是有效的:它将数组元素中的字符串拆分为/
字符。您需要该数组的第二个元素。a.split(“/”[3]
如果它始终是两个字母的县代码,请尝试这样做:`为了完整性,我在示例中添加了其他URL。我还在[^\/]
之后添加了一个解释斜杠的项目;OP似乎明白你在做什么,但以防万一将来有人发现你不懂正则表达式。