0

我有

"id": 1468306 

在字符串内部,如何使用正则表达式为其获取数字 1468306?

4

7 回答 7

0

这将在这种情况下匹配

id : 156454;
id :156454;
id:156454;

 /id\s?[:]\s?[0-9]+/g.match(stringhere)
于 2013-09-08T03:58:19.203 回答
0
JSON.parse("{" + yourString + "}").id

如果你有一个字符串,它将是你的号码。

于 2013-09-08T03:48:36.223 回答
0

您可以使用此正则表达式:

/: (\d+)/

如:

s = '"id": 1468306';
r = /: (\d+)/;
console.log(r.exec(s)[1]);

输出:

1468306

于 2013-09-08T03:49:48.127 回答
0

小提琴:http: //jsfiddle.net/SfeMh/

var regEx   = /\d+/g;
var str = '"id": 1468306';
var numbers = str.match(regEx);
alert(numbers); // returns 1468306

看起来您正在尝试解析 JSON 字符串。如前所述尝试这种方式:

var parsedObj = JSON.parse(myJSONString);
alert(parsedObj.id); // returns 1468306
于 2013-09-08T03:50:45.753 回答
0

您可以在 javascript 中使用 parseInt() 方法,如下所示:

var str = parseInt(id);
于 2013-09-08T03:53:45.547 回答
0

以下代码可以帮助您:

var input = '"id": 1468306';
var matches = input.match(/"id": (\d+)/);
var id = matches[1];

id 得到所需的数字。

于 2013-09-08T03:54:37.877 回答
0

好吧,我的 JSON 答案仍然有效,如果这是您在问题中提供给我们的完整字符串,请使用它。但是如果你真的想要一个正则表达式,这里会搜索“id”然后找到后面的数字。

parseInt(yourString.match(/("id"\s?:\s?)(\d+)/)[2])

小提琴:http: //jsfiddle.net/tS9M4/

于 2013-09-08T04:04:00.770 回答