如何调整javascript regexpression

时间:2015-06-27 21:25:17

标签: javascript regex angularjs

我需要调整我用于文件名的正则表达式。目前该文件的结构为02-2015 VRF WE32.pdf 正则表达式将字符串分成3个空格。这很好用。结果是

02-2015
VRF
WE32

但现在我需要将字符串分成4个部分。第四个是' WE32'中的数字。所以它需要看起来像这样

02-2015
VRF
WE
32

以下是我正在使用的内容,包括一些截图

var matchesPip = file.name.match(/^\d+\D\d+\s*(\S*\s*)(\S*)/i);
var matchesLoc = file.name.match(/^\d+\D\d+\s*?(\S*)\s*(\S*?)\./i);
var matchesLocCode = file.name.match(NEED HELP HERE);
    $scope.pip = $scope.pipeLookup[matchesPip[1]];
    $scope.loc = $scope.locationLookup[matchesLoc[2]];
    $scope.locCode = $scope.locationCodeLookup[matchesLocCode[3]];

pic1 pic2 pic3

2 个答案:

答案 0 :(得分:2)

看起来你只需要在非空格之后提供数字匹配组(\d+)

^(\d+\D\d+)\s*?(\S*)\s*(\S*?)(\d+)\.

测试: https://regex101.com/r/bP7oF2/1

答案 1 :(得分:1)

为什么不使用拆分?例如

var fn = '02-2015 VRF WE32.pdf';
var chunks = fn.split(' ');
var moreChunks = chunks[2].split('.');
alert (moreChunks[0]);

会给你WE32