2015-06-12 5 views
1

Как я могу извлечь число и ключ из следующих строк, используя регулярные выражения?Извлечь шаблон из строки с регулярным выражением

Duplicate entry '24040446669881344' for key 'clave_something' 
Duplicate entry '24040446669881345' for key 'clave_something_else' 

Я пробовал использовать подстроки, но он не будет работать, когда изменяется длина цепи.

Спасибо!

ответ

1

При этом, вы получите все целые числа из строки:

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

demo

Для вас конкретный пример, чтобы извлечь также ключ:

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

demo

или если вы хотите, чтобы принести многострочный строку:

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

demo

+0

Спасибо! Ваш ответ очень полезен! – helloworld

1

Попробуйте это:

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

Переменная $matches будет содержать ваши желаемые данные.

Смежные вопросы