Javascript正则表达式:获取最后两个段,除以点

时间:2015-03-10 16:48:07

标签: javascript regex

我有一个变量值,可以有多个用点分隔的段。例如:

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"

2 个答案:

答案 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