String中的第一个和最后一个数字?

时间:2014-09-17 16:00:16

标签: javascript regex html5

我真的很难使用Regex从字符串中提取两个数字。数字可以是正数,负数或0.我对Regex的经验非常有限。

字符串的格式类似于:

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

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

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

而且,以下似乎让我成为第二个,可能作为数组中的元素,但也没有得到+/-符号:

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

1 个答案:

答案 0 :(得分:4)

您可以查找[+或 - 符号],然后查找[一个或多个数字],如下所示:

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

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