2009-10-05 9 views
1

Je veux preg_match [200932] ceci à partir d'une chaîne.
J'ai essayé un certain modèle mais n'a pas aidé, aucune idée?preg_match_all [200932]

+0

Montrez-nous le motif que vous avez essayé. A-t-il besoin d'inclure les caractères []? – pavium

+0

Hy merci voici le modèle que j'ai essayé # [([.])] # – streetparade

Répondre

4

Votre question est très vague mais je pense que vous avez probablement oublié d'échapper aux crochets. Ils désignent une classe de caractères dans RegEx.

preg_match('/\[200932\]/', $str, $matches); 

Si vous deviez utiliser /[200932]/ cela signifierait "2 ou 0 ou 9 ou 3".

Edit:

Pour saisir les numéros entre crochets:

/\[(\d+)\]/ 

C'est

\[ A square bracket 
( Start capturing group 
\d+ A digit, 1 or more times 
)  End capturing group 
\]  A closing square bracket 
+0

hy merci je veux [*] les numéros dans le [] – streetparade

+0

vôtre ne fonctionne pas aussi il retourne array (1) { [0] => tableau (1) { [0] => string (1) "]" } – streetparade

+0

Merci, il a travaillé array (2) { [0] => array (1) { [0] => string (8) "[200932]" } – streetparade

1

ne sais pas si je comprends bien votre question à droite, mais voici tout de même:

[\[\]0-9]{8} 
+0

non ça ne marche pas. Est-ce difficile à comprendre je veux les chiffres entre les crochets – streetparade

1

Vous avez essayé: # [([].)] #

Essayez ceci: \ [([0-9] *) \]

(Sans * la chaîne correspond à un seul chiffre et vous avez utilisé. qui correspond à tous les caractères même a, b, c, - ou /)