Regex

Signaler
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014
-
Bonjour,

J'ai vraiment du mal avec cette regex toute simple:

Soit la chaine en entrée
- /bookmarks/category[/][:id|idCategorie[#[A-Z]#]][/][page][/][:id|Page]

Je souhaite extraire tous les charactère contenus entre des crochets ouvrants, fermants.

Regex :

$pattern = "/bookmarks/category[/][:id|idCategorie[#[A-Z]#]][/][page][/][:id|Page]";

        preg_match_all(
            "#\[{1}(.*)\]{1}#mU",
            $pattern,
            $match
        );


Ce qui retourne

var_dump($match);
Array
(
    [0] => Array
        (
            [0] => [/]
            [1] => [:id|idCategorie[#[A-Z]
            [2] => [/]
            [3] => [page]
            [4] => [/]
            [5] => [:id|Page]
        )

    [1] => Array
        (
            [0] => /
            [1] => :id|idCategorie[#[A-Z
            [2] => /
            [3] => page
            [4] => /
            [5] => :id|Page
        )

)


Or je souhaiterai que le résultat retourné puisse contenir lui aussi des crochets [ & ].

Par exemple $match[1][1] devrait retourné :

:id|idCategorie[#[A-Z]#]


Si quelqu'un à une piste je suis tout ouïe. Et merci par avance à la communauté


________________________________________
( $toBe || !$toBe ) = $this->Question();

1 réponse

Messages postés
381
Date d'inscription
lundi 12 novembre 2007
Statut
Membre
Dernière intervention
23 octobre 2014

La regex était donc

#(\[:(.*)(\#\])|\[{1}(.*)\]{1})#mU