Que signifie cette regex ?

Que signifie cette regex ? - PHP - Programmation

Marsh Posté le 27-02-2004 à 11:31:07    

Bonjour,
 
J'ai trouvé cette regex dans un script, mais je n'arrive pas à savoir ce qu'elle traduit.
 

Code :
  1. ([^\[]+)


 
Ca serait sympa de m'en dire plus !
 
Merci

Reply

Marsh Posté le 27-02-2004 à 11:31:07   

Reply

Marsh Posté le 27-02-2004 à 11:41:14    

elle attrape espace, ^ et [ une ou plusieurs fois.

Reply

Marsh Posté le 27-02-2004 à 11:59:23    

gizmo a écrit :

elle attrape espace, ^ et [ une ou plusieurs fois.  


 
le ^ ca veut pas dire "interdire" ?


Message édité par fabien le 27-02-2004 à 11:59:38

---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 27-02-2004 à 12:01:00    

fabien a écrit :


 
le ^ ca veut pas dire "interdire" ?


si, mais uniquement quand c'est le premier caractère.
 
EDIT: au temps pour moi, c'est firebird qui me fait des espaces démesurément grand pour les crochets.
 
La bonne réponse est donc: tout sauf un crochet ouvrant


Message édité par gizmo le 27-02-2004 à 12:02:31
Reply

Marsh Posté le 27-02-2004 à 12:01:54    

Une chaine qui ne contient pas de \ et de [


Message édité par gamma le 27-02-2004 à 12:02:06
Reply

Marsh Posté le 27-02-2004 à 12:03:47    

C'est le premier caractère de la classe de caractères...
 
C'est un sous masque "demandant" au moins un caractère différent de [

Reply

Marsh Posté le 27-02-2004 à 12:09:54    

Citation :

La bonne réponse est donc: tout sauf un crochet ouvrant

Si j'ai bonne mémoire, dans [^xxx], tous les caractères perdent leur sens spécials (ex :  ., \, [...)

Reply

Marsh Posté le 27-02-2004 à 12:14:48    

gamma a écrit :

Citation :

La bonne réponse est donc: tout sauf un crochet ouvrant

Si j'ai bonne mémoire, dans [^xxx], tous les caractères perdent leur sens spécials (ex :  ., \, [...)


exact.
 
Faut vraiment que je m'y remette, c'est pas comme le vélo visiblement :sweat:

Reply

Marsh Posté le 27-02-2004 à 12:37:16    

gamma a écrit :

Citation :

La bonne réponse est donc: tout sauf un crochet ouvrant

Si j'ai bonne mémoire, dans [^xxx], tous les caractères perdent leur sens spécials (ex :  ., \, [...)

sauf que le ] caractere doit etre precede de \ afin de ne pas le confondre avec ] meta-caractere qui ferme la classe ouverte par le [.
 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 27-02-2004 à 12:40:55    

Citation :

sauf que le ] caractere doit etre precede de \ afin de ne pas le confondre avec ] meta-caractere qui ferme la classe ouverte par le [.

T'es sûr ?
Si le \ perd son sens....à quoi ça sert de le mettre ?!?
 
Essaye ceci :

Code :
  1. <?php
  2. $string = 'aaa gras bbb';
  3. echo ereg_replace('\([^]]+)\', '<b>\\1</b>', $string);
  4. ?>


Message édité par gamma le 27-02-2004 à 12:41:51
Reply

Marsh Posté le 27-02-2004 à 12:40:55   

Reply

Marsh Posté le 27-02-2004 à 12:42:09    

momo194 a écrit :

Bonjour,
 
J'ai trouvé cette regex dans un script, mais je n'arrive pas à savoir ce qu'elle traduit.
 

Code :
  1. ([^\[]+)


 
Ca serait sympa de m'en dire plus !
 
Merci


 
Elle capture un ou plusieurs caractères consécutifs qui n'est pas [.
 
Et le "\" enlève sa signification spéciale au [ qui le suit.


Message édité par kfman le 27-02-2004 à 12:43:42
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed