字符串中的第一个和最后一个数字

First and Last Number in String?

本文关键字:最后一个 数字 第一个 字符串      更新时间:2023-09-26

我真的很难用Regex从一个字符串中提取两个数字。数字可以是正数、负数或0。我对Regex的经验极其有限。

字符串的格式总是类似于:

"rotateX(-90deg) rotateY(-90deg)"

我的最佳尝试如下。第一种方法得到第一个整数,但没有得到+/-号:

var rx = string.replace( /(^.+'D)('d+)('D.+$)/i,'$2')

而且,以下内容似乎给了我第二个,可能是数组中的一个元素,但也没有给我+/-号:

var ry = string.match(/('d+)/i);

您只需查找[+或-号]后面跟着[一个或多个数字],如下所示:

"rotateX(-90deg) rotateY(-90deg)".match(/([+-]?'d+)/g); // ["-90", "-90"]

它只返回一个所有匹配项的数组,您可以使用.length检查其长度,以确保其中包含2个内容,然后使用[0][1]访问它们。