使用正则表达式从字符串中提取数字

时间:2012-07-09 14:43:39

标签: javascript regex

我对正则表达式一无所知,但我知道它们是我正在尝试做的正确工具:我试图从像这样的字符串中提取数值:

approval=not requested^assignment_group=12345678901234567890123456789012^category=Test^contact_type=phone^

理想情况下,我会从中提取以下内容:12345678901234567890123456789012我尝试过的正则表达式都没有。如何从此字符串中获取我想要的值?

4 个答案:

答案 0 :(得分:7)

这将获得所有数字:

var myValue = /\d+/.exec(myString)

答案 1 :(得分:4)

mystr.match(/assignment_group=([^\^]+)/)[1]; //=> "12345678901234567890123456789012"

这将找到从“assignment_group =”结尾到下一个插入符^符号的所有内容。

答案 2 :(得分:1)

尝试这样的事情:

/\^assignment_group=(\d*)\^/

这将获得assignment_group的数字。

var str = 'approval=not requested^assignment_group=12345678901234567890123456789012^category=Test^contact_type=phone^',
    regex = /\^assignment_group=(\d*)\^/,
    matches = str.match(regex),
    id = matches !== null ? matches[1] : '';
console.log(id);

答案 3 :(得分:0)

如果在任何地方都没有数字,但是当你需要时,你可以这样做:

\d+

\ d匹配数字,+表示“匹配任意数量的任何数字”