JeuWeb - Crée ton jeu par navigateur

Version complète : [Regexp] Aide pour créer des regexp
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Pages : 1 2
Hello,

je cherche à parser des chaines pour en extraire des hashtags

par exemple, si je passe la chaine "#salut bon#jour je #voudrais #manger"

Il faudrait que je récupère 'salut', 'voudrais' et 'manger' mais pas 'jour'. En gros il faut que le mot commence par #

Code :
/#([a-zA-Z0-9]+)/

mais là ça me prends 'jour' aussi. C'est quoi le truc ?
Arf non ben en fait çà marchait

Code :
/(^|\s)#([a-zA-Z0-9]+)/
Bonjour,

Celà fait un petit moment que j'ai pas touché à ça mais est ce qu'il faudrait pas mettre quelque chose du genre :

Code :
^/#([a-zA-Z0-9]+)/
Avec ça, tu capture tout ce qui commence par un # mais en capturant l'espace avant aussi.
Code :
(^#([a-zA-Z0-9]+))|( #([a-zA-Z0-9]+))
Merci quand même pour vos réponses !

J'ai trouvé une solution qui me renvoie tout dans un même tableau en php que le tag soit précédé d'un espace ou bien soit au début de la chaine.

Cette version de ton code est plus souple mais c'est ptet pas ce que tu veux

Code :
/(^|\s+)#([^#\s]+)/

Je sais pas encore, j'ai rajouté les '-' et '_' et a priori je n'ai rien contre les tags avec des caractères spéciaux mais instinctivement je les ai bloqués
Oui t'as raison c'est mieux, ça dépend de l'usage.
/(?!\b)#([a-zA-Z0-9_-]+)/

Smile
Hello,

aujourd'hui j'aurais besoin de parser des tableaux dans des noms de champ pour variables POST
soit la chaine "tttttt[aaaaa][bbbbb][cccc][zzzz]", je voudrais récupérer tous les éléments du chemin, à savoir tttt, aaaa, bbbb, cccc et zzzz.
Pour le moment je n'arrive à récupérer que le premier et le dernier.

Il peut ne pas y a voir de parties entre crochets, par contre il y aura toujours une partie sans crochet au début.

merci !



$key = 'qzdqzd[aaaaa][bbbbb][cccc][zzzz]';
$matches = array();
preg_match_all('/([a-zA-Z0-9]+)(?:\[([a-zA-Z0-9]+)\])*/', $key, $matches, PREG_SET_ORDER);
var_dump($matches);
Et avec cela [a-zA-Z0-9]* puisque tu ignores les crochets. Es-ce que tu souhaites ?
Pages : 1 2