Les drapeaux

Aller en bas

default Les drapeaux

Message par Titou85 le Dim 20 Mai 2018, 09:50

Les drapeaux


Ils permettent de modifier le comportement lors de la recherche de correspondance(s), il est possible de définir plus d'un drapeau dans sa regexp.

g:
Drapeau de recherche globale, il permet de retrouver toutes les correspondances possibles plutôt que de s'arrêter à la première trouvée.
On peut imaginer que le texte ressemble à une liste de codes postaux:

Code:
74000 39100 92600 21000
On sait que cette liste peut évoluer, il peut y avoir plus comme moins de codes postaux, on va donc utiliser la regexp suivante:

Code:
/\d{5}/g
Et voila on récupère tous les codes postaux en ayant eu à définir que le modèle de ceux-ci.
Lorsque le drapeau g est utilisé il n'est plus possible de récupérer les groupes dans le tableau renvoyé par la fonction match/replace.

i:
Drapeau de recherche insensible à la casse ainsi la regexp suivante:
Code:
/[a-z]+/i
est équivalente à
Code:
/[a-zA-Z]+/
Ainsi que le mot bonjour soit écrit Bonjour, bOnJoUr, ou BONJOUR il sera tout de même trouvé.


m:
Drapeau permettant de modifier la signication des délimiteurs ^ et $ qui ne correspondent plus alors au début ou à la fin du texte mais au début ou à la fin de chaque ligne contenue dans le texte.
Texte:
Code:
Bonjour agent 007
Votre mission si vous l'acceptez ...
La regexp:
Code:
/\d+$/m
Essaye avec et sans le drapeau m Wink



Il reste 2 drapeaux mais qui ne sont pratiquement jamais utilisés que sont les drapeaux u et y dont je te laisse lire la signification:
[Vous devez être inscrit et connecté pour voir ce lien]

Perso je n'en ai jamais eu besoin.


Dernière édition par Titou85 le Lun 21 Mai 2018, 12:17, édité 1 fois
avatar
Titou85
Restriction

Prénom : Paul
Masculin
Date d'inscription : 19/12/2015

Age : 50


Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Milouze14 le Dim 20 Mai 2018, 19:29

Merci, j'ai une incompréhension sur l'exemple suivant

Bonjour agent 007
Votre mission si vous l'acceptez ...

Code:
/\d+$/m

si j'enlève le m, je n'ai plus de correspondance .

Juste avant d'envoyer ce message et si j'interprète bien ceci:


mais au début ou à la fin de chaque ligne contenue dans le texte.

Vu qu'il y a un saut de ligne, il ne prend plus en compte ceci:

Votre mission si vous l'acceptez ...

Mais la première occurrence:

Bonjour agent 007

Mais pourquoi il trouve la série de chiffre ?:
007


[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur

Prénom : Philippe
Féminin
Date d'inscription : 20/11/2012

Localisation : Vendée

Emploi/loisirs : Informatique

Humeur : Toujours bonne


http://testphpbb3.1fr1.net

Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Titou85 le Dim 20 Mai 2018, 19:39

Si si il prend bien en compte :
Code:
Votre mission si vous l'acceptez ...

Je t'explique la regexp:
Code:
/\d+$/m
on cherche une valeur numérique positionnée en fin de ligne $, le drapeau m ne veut pas dire que la recherche s'arrête à un saut de ligne mais que si ^ ou $ sont utilisé comme délimiteurs alors ils ne délimiteront plus le texte dans sa totalité MAIS chaque ligne du texte.
avatar
Titou85
Restriction

Prénom : Paul
Masculin
Date d'inscription : 19/12/2015

Age : 50


Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Milouze14 le Dim 20 Mai 2018, 19:43

Ah merci pour ces explications,
je commence a patauger sérieusement Very Happy .

Il faut que je vois tout cela à tête reposée demain Wink .




[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur

Prénom : Philippe
Féminin
Date d'inscription : 20/11/2012

Localisation : Vendée

Emploi/loisirs : Informatique

Humeur : Toujours bonne


http://testphpbb3.1fr1.net

Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Titou85 le Dim 20 Mai 2018, 19:46

^^ pas de souci c'est un drapeau un peu piège au début à vrai dire Wink
avatar
Titou85
Restriction

Prénom : Paul
Masculin
Date d'inscription : 19/12/2015

Age : 50


Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Milouze14 le Dim 09 Sep 2018, 08:33

test envoi


[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur

Prénom : Philippe
Féminin
Date d'inscription : 20/11/2012

Localisation : Vendée

Emploi/loisirs : Informatique

Humeur : Toujours bonne


http://testphpbb3.1fr1.net

Revenir en haut Aller en bas

default Re: Les drapeaux

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum