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!
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);
Try this:
preg_match("/Duplicate entry '([^']+)' for key '([^']+)'/", $theString, $matches);
The variable $matches
will contain your desired data.