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

Extracting numbers from a string using regular expressions

本文关键字:提取 数字 字符串 正则表达式      更新时间:2023-09-26

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

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

理想情况下,我会从中提取以下内容:12345678901234567890123456789012我尝试过的正则表达式都不起作用。如何从这个字符串中获得我想要的值?

这将获得所有数字:

var myValue = /'d+/.exec(myString)
mystr.match(/assignment_group=([^'^]+)/)[1]; //=> "12345678901234567890123456789012"

这将查找从"assignment_group="末尾到下一个插入符号^符号的所有内容。

试试这样的东西:

/'^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);

如果在任何地方都不可能有数字,但当你需要它们时,你可以做:

'd+

''d匹配数字,+表示"匹配后面的任何数字"