咕噜匹配正则表达式

Grunt match regular expression

我正在尝试使用无效的正则表达式提取最新的修订版号。有人可以帮助新手 regexer 吗:

revision: 2020

stdout.match(/^r(\d+)/m)[1])

感谢您提供的任何帮助

编辑

我应该把我的全部任务放在这里,这样所有人都会知道我想做什么。

grunt.registerTask('version', 'Updating to latest revision', function () { var done = this.async(); grunt.util.spawn({ cmd: 'svn info', args: ['-r HEAD'] }, function (err, result, code) { var output = result.stdout; if (output) { var revision = result.stdout.match(/\d+/)[0]; grunt.file.write('web/version2.js', 'var UIVERSION = ' + revision); } done(); }); } );

您应该可以做到 \d+,然后拉出第一个元素,例如:

var str = 'revision: 2020';
var regex = /\d+/
var number = str.match(regex)[0]; // '2020'

DEMO

如果你想要它作为一个整数而不是一个字符串,只需在表达式中添加一个+

var number = +str.match(regex)[0]; // 2020