我有一个变量值,可以有多个用点分隔的段。例如:
var value = "abc.def.hij.asd.local"
当传入变量时,我不知道它将具有多少段。它可以有3个或更多。例如:
var value1 = "abc.cda.bds";
var value2 = "fdf.sdfsdf.dsds.sdfsdf.sdfds";
如何在Javascript中使用正则表达式来仅获取最后两个段。例如:
var value1 = "asda.dfgd.ghghg.hjkhj";
// return "ghghg.hjkhj"
var value2 = "dfgdf.fghfg.fgfh";
// return "ghfg.fgfh"
答案 0 :(得分:1)
使用string.match
功能。
string.match(/[^.]*\.[^.]*$/)
示例:强>
> var s = "dfgdf.fghfg.fgfh"
undefined
> s.match(/[^.]*\.[^.]*$/)[0]
'fghfg.fgfh'
答案 1 :(得分:1)
不使用正则表达式:
var s = 'asda.dfgd.ghghg.hjkhj';
var arr = s.split('.');
var result = arr[arr.length-2] + '.' + arr[arr.length-1];
//=> ghghg.hjkhj