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

Javascript Regular Expressions: obtain last two segments, divided by a dot

本文关键字:两个 正则表达式 获取 最后 Javascript      更新时间:2023-09-26

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

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"

使用string.match函数。

string.match(/[^.]*'.[^.]*$/)

例:

> var s = "dfgdf.fghfg.fgfh"
undefined
> s.match(/[^.]*'.[^.]*$/)[0]
'fghfg.fgfh'

不使用正则表达式:

var s = 'asda.dfgd.ghghg.hjkhj';
var arr = s.split('.');
var result = arr[arr.length-2] + '.' + arr[arr.length-1];
//=> ghghg.hjkhj