正则表达式问题 - 在字符串中查找数字

时间:2014-11-14 14:05:53

标签: javascript regex

我目前正在使用JavaScript从字段中获取字符串,在该字段中通常会有;

"宽度= 56无效= 67"

我需要做的是识别两个数字,它们可能介于1-440之间,并将它们分成两个不同的字段

字段1 =宽度 字段2 =无效

我已经查看了正则表达式,到目前为止我会使用Search()方法确定数字的位置,但它并没有真正按照我的要求进行操作

有人有任何建议吗?

2 个答案:

答案 0 :(得分:4)

正则表达式是贪婪的,所以你可以这样做:

  var str = 'Width = 56 Void = 67';
  var a = str.match(/\d+/g);

然后你可以检查a的值,看看它们是否匹配,以及它们是否在你预期的数字范围内,因为现在a是[“56”,67“]的数组;

答案 1 :(得分:1)

试试这个正则表达式:

Width = (\d+) Void = (\d+)

解析字符串的JavaScript代码如下所示:

var regex = /Width = (\d+) Void = (\d+)/;
var match = regex.exec("Width = 56 Void = 67");
var field1 = parseInt(match[1], 10); // 56
var field2 = parseInt(match[2], 10); // 67

您想要添加一些错误检查,但这是必不可少的部分。

祝你好运!