2009-05-25 7 views
1

Étant donné une chaîne telle que:Regex Aide à la recherche

a:2:{i:0;s:1:"1";i:1;s:1:"2";} 

Je veux trouver tout entier entre guillemets et créer un tableau de tous les entiers trouvés dans la chaîne.

Le résultat final devrait être un tableau comme:

Array 
(
    [0] => 1 
    [1] => 2 
) 

Je devine que vous utilisez preg_match() mais je n'ai aucune expérience avec des expressions régulières :(

Répondre

7

Que diriez-vous ceci:

$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}'; 
print_r(array_values(unserialize($str))); 

Pas une regex, même réponse

Cela fonctionne parce que la chaîne que vous avez est un tableau PHP sérialisé. Utiliser une regex serait la mauvaise façon de le faire.

0

Le regex (dans un programme) ressemblerait à ceci:

$str = 'a:2:{i:0;s:1:"1";i:1;s:1:"2";}'; 
preg_match_all('/"(\d+)"/', $str, $matches); 
print_r($matches[1]);