Olivier
Olivier

Reputation: 130

Extracting numbers from a string using regular expressions

I am clueless about regular expressions, but I know that they're the right tool for what I'm trying to do here: I'm trying to extract a numerical value from a string like this one:

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

Ideally, I'd extract the following from it: 12345678901234567890123456789012 None of the regexes I've tried have worked. How can I get the value I want from this string?

Upvotes: 1

Views: 10679

Answers (4)

Phillip Schmidt
Phillip Schmidt

Reputation: 8818

If there is no chance of there being numbers anywhere but when you need them, you could just do:

\d+

the \d matches digits, and the + says "match any number of whatever this follows"

Upvotes: 0

gen_Eric
gen_Eric

Reputation: 227240

Try something like this:

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

This will get the number for 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);

Upvotes: 1

Graham
Graham

Reputation: 6562

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

This will find everything from the end of "assignment_group=" up to the next caret ^ symbol.

Upvotes: 4

elclanrs
elclanrs

Reputation: 94101

This will get all the numbers:

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

Upvotes: 7

Related Questions