Node.js Parsing A Number Inside a String

donald picture donald · Apr 23, 2011 · Viewed 48k times · Source

Given a string like:

Recipient: [email protected]
Action: failed
Status: 5.0.0 (permanent failure)
Diagnostic: No

How do I get the "5.0.0" and "permanent failure" only if it's always after Status: ? ?

Thanks

Answer

Máthé Endre-Botond picture Máthé Endre-Botond · Apr 23, 2011
var regex = /Status: ([0-9\.]+) \(([a-zA-Z ]+)\)/
var result = string.match(regex);
var statusNumber = result[1];
var statusString = result[2];

You should extend these: [0-9\.], [a-zA-Z ] selectors if you expect other characters in these values. For now the first one expects numbers and dots, the second characters and spaces