4

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!

2 Answers 2

3

With this, you will get all integers from string:

preg_match_all('~\d+~', $string, $match);
print_r($match);

demo

For you specific example, to extract also the key:

preg_match("~'(.+?)'.+'(.+?)'~", $string, $match);
print_r($match);

demo

or if you wish to fetch multiline string:

preg_match_all("~'(.+?)'.+'(.+?)'~m", $string, $match, PREG_SET_ORDER);
print_r($match);

demo

Sign up to request clarification or add additional context in comments.

Comments

2

Try this:

preg_match("/Duplicate entry '([^']+)' for key '([^']+)'/", $theString, $matches);

The variable $matches will contain your desired data.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.