匹配域后缀的正则表达式
a regular expression to match domains suffixes
我需要一些帮助来构建一个正则表达式,请。
我有一个域名数组和一个顶级域名数组(相当长)。例子:
tlds = {
'.com':{
1 : '£4.00',
2 : '£7.50',
3 : '£11.00',
4 : '£14.50',
5 : '£18.00',
},
'.org':{
1 : '£5.00',
2 : '£10.00',
3 : '£15.00',
4 : '£20.00',
5 : '£25.00',
},
'.net':{
1 : '£6.00',
2 : '£12.00',
3 : '£18.00',
4 : '£24.00',
5 : '£30.00',
},
'.co.uk':{
1 : '£7.00',
2 : '£14.00',
3 : '£21.00',
4 : '£28.00',
5 : '£35.00',
},
'.com.br':{
1 : '£9.00',
2 : '£16.00',
3 : '£22.00',
4 : '£28.00',
5 : '£34.00',
}
}
domainResults = {
0 : {
'domain' : 'anything.com',
'status' : 'available'
},
1 : {
'domain' : 'anything-weird.org',
'status' : 'available'
},
2 : {
'domain' : 'anything-amazing.co.uk',
'status' : 'available'
}
}
对于每个域名,我想分配正确的tld。数组中的每个域名总是匹配其中一个tld。
我认为解决方案应该循环每个顶级域名作为一个REGEX,直到它匹配的域名我循环通过。
我知道这将是棘手的,因为我总是至少有26个顶级域名,我想确保它们都不匹配,以防止错误显示定价(例如:以'.com.br'结尾的域名不应该是'.com.br'的正则表达式的结果,但只适用于'.com.br')。
假设域名字符串中没有子域名部分
for(var index in domainResults){
var domain = domainResults[index].domain;
var tld = domain.substring(domain.indexOf("."));
// now tlds[tld] gives the corresponding tld object
console.log(tlds[tld]);
}
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 匹配域后缀的正则表达式
- 为什么这些JavaScript正则表达式捕获圆括号而不是单词后面的后缀