Reputation: 527
How can I extract the number and key from the following strings using regular expressions?
Duplicate entry '24040446669881344' for key 'clave_something'
Duplicate entry '24040446669881345' for key 'clave_something_else'
I tried using substrings but it wont work when the length of the chain changes.
Thanks!
Upvotes: 4
Views: 4369
Reputation: 43552
With this, you will get all integers from string:
preg_match_all('~\d+~', $string, $match);
print_r($match);
For you specific example, to extract also the key:
preg_match("~'(.+?)'.+'(.+?)'~", $string, $match);
print_r($match);
or if you wish to fetch multiline string:
preg_match_all("~'(.+?)'.+'(.+?)'~m", $string, $match, PREG_SET_ORDER);
print_r($match);
Upvotes: 3
Reputation: 44833
Try this:
preg_match("/Duplicate entry '([^']+)' for key '([^']+)'/", $theString, $matches);
The variable $matches
will contain your desired data.
Upvotes: 2