Expressions régulières
soummam
Messages postés
179
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
je souhaiterais filtrer uniquement une URL particulière à l'aide d'expressions régulières intégrées dans un script.
Par exemple
titi.blogs.fr/
et non
titi.blogs.com/
toto.blogs.fr/
tutu.blogs.fr/
titi.pif.fr/
etc.
Merci de me donner la solution.
je souhaiterais filtrer uniquement une URL particulière à l'aide d'expressions régulières intégrées dans un script.
Par exemple
titi.blogs.fr/
et non
titi.blogs.com/
toto.blogs.fr/
tutu.blogs.fr/
titi.pif.fr/
etc.
Merci de me donner la solution.
A voir également:
- Expressions régulières
- Expressions régulières "ne contient pas ..." ✓ - Forum Programmation
- Expressions francaises - Forum Études / Formation High-Tech
- Kyocera Ecosys P3060dn, traces régulières - Forum Imprimante
- Expressions visage bitmoji ✓ - Forum Snapchat
- Que veulent dire les expressions lol et mdr ? ✓ - Forum Loisirs / Divertissements
10 réponses
J'ai voulu tuer une mouche avec un canon, effectivement ça marche.
Merci
Donc si j'ai bien compris l'opérateur ET est le . (point)
Merci
Donc si j'ai bien compris l'opérateur ET est le . (point)
Non !
On recherche seulement une chaine de caractères qui corresponde à ton motif tel qu'il est, à savoir :
- qui contient le mot "titi"
- suivi d'un point
- suivi de "blogs"
- suivi d'un point
- suivi de "fr"
- suivi d'un slash
On recherche seulement une chaine de caractères qui corresponde à ton motif tel qu'il est, à savoir :
- qui contient le mot "titi"
- suivi d'un point
- suivi de "blogs"
- suivi d'un point
- suivi de "fr"
- suivi d'un slash
Salut,
en fait titi.blogs.fr/ n'est pas vraiment une expression régulière, mais plutôt littérale avec l'exception que le point est un métacaractère
dans ton cas si tu l'utilise telle quelle tu reconnaîtras aussi
titiAblogsBfr
titi0blog9fr
etc.
donc il faut echapper le point avec un backslash pour qu'il soit reconnu littéralement
donc l'expression devra être
en fait titi.blogs.fr/ n'est pas vraiment une expression régulière, mais plutôt littérale avec l'exception que le point est un métacaractère
dans ton cas si tu l'utilise telle quelle tu reconnaîtras aussi
titiAblogsBfr
titi0blog9fr
etc.
donc il faut echapper le point avec un backslash pour qu'il soit reconnu littéralement
donc l'expression devra être
titi\.blogs\.fr
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci de votre aide intéressante,
Mais comment faire pour filtrer uniquement des liens qui ont précisément certains motifs ?
Exemple : je veux reconnaitre uniquement le lien qui a titi ET com
titi.blogs.com/
toto.blogs.fr/
tutu.blogs.fr/
titi.pif.fr/
Mais comment faire pour filtrer uniquement des liens qui ont précisément certains motifs ?
Exemple : je veux reconnaitre uniquement le lien qui a titi ET com
titi.blogs.com/
toto.blogs.fr/
tutu.blogs.fr/
titi.pif.fr/
Merci lami20j
Mais ça ne marche pas dans mon cas.
Peut-être parce ce que les motifs titi ET com peuvent être positionnés aléatoirement dans la chaine de caractères.
--titi-com
-----titi----com
----------titi---------com
--- représentent des caractères quelconques --> lettres ? - . / # :
Si quelqu'un a une idée, je suis preneur.
Mais ça ne marche pas dans mon cas.
Peut-être parce ce que les motifs titi ET com peuvent être positionnés aléatoirement dans la chaine de caractères.
--titi-com
-----titi----com
----------titi---------com
--- représentent des caractères quelconques --> lettres ? - . / # :
Si quelqu'un a une idée, je suis preneur.
Salut,
titi.*\.com
veut dire "cherche t suit d'un i suit d'un t suit d'un i, suit de n'importe quel caractère 0,1 ou n'importe combien de fois, suit d'un point, suit d'un c, suit d'un o, suit d'un m
si tu ne donne pas le fichier sur lequel tu veux travailler on ne pourra que te donner des indices mais jamais la solution réelle ;-)
titi.*\.com
veut dire "cherche t suit d'un i suit d'un t suit d'un i, suit de n'importe quel caractère 0,1 ou n'importe combien de fois, suit d'un point, suit d'un c, suit d'un o, suit d'un m
si tu ne donne pas le fichier sur lequel tu veux travailler on ne pourra que te donner des indices mais jamais la solution réelle ;-)
Ce ne sont pas des fichiers mais des URL à filtrer, ces URL je ne les connait pas. C'est GOOGLE qui me les donnera.
Je veux par exemple filtrer les URL qui ont à la fois les motifs FORUM et SEXE
Mais laisser passer celles qui ont FORUM et INFORMATIQUE.
Le problème est que les URL ont une longueur différente et que les mots en question ne se trouvent pas au même endroit
dans la chaine de caractères qui peuvent être de surcroit différents.
D'où mes questions ?
Je veux par exemple filtrer les URL qui ont à la fois les motifs FORUM et SEXE
Mais laisser passer celles qui ont FORUM et INFORMATIQUE.
Le problème est que les URL ont une longueur différente et que les mots en question ne se trouvent pas au même endroit
dans la chaine de caractères qui peuvent être de surcroit différents.
D'où mes questions ?
SAlut,
* est le joker, si tu veux, si tu inclues dans ton filtre :
*sexe* par exemple, tu filtreras toutes les url contenant au moins une fois le mot "sexe", où qu'il soit placé dans l'url,
*sexe*forum, te donnera filtrera toutes les urls ou ces mots apparaissent qu moins une fois dans cet ordre-là,
pour prendre aussi en compte l'inverse, mes faibles connaissances me suggèrent de placer également comme filtre *forum*sexe* mais il y a sans doute expression régulière que je ne connais pas qui permettrait de résoudre me problème en un seul filtre.
J'espère néanmois que cela pourra t'aider.
Bonne soirée.
* est le joker, si tu veux, si tu inclues dans ton filtre :
*sexe* par exemple, tu filtreras toutes les url contenant au moins une fois le mot "sexe", où qu'il soit placé dans l'url,
*sexe*forum, te donnera filtrera toutes les urls ou ces mots apparaissent qu moins une fois dans cet ordre-là,
pour prendre aussi en compte l'inverse, mes faibles connaissances me suggèrent de placer également comme filtre *forum*sexe* mais il y a sans doute expression régulière que je ne connais pas qui permettrait de résoudre me problème en un seul filtre.
J'espère néanmois que cela pourra t'aider.
Bonne soirée.
Salut,
* est un caractère qui a des signification différentes en fonction d'environnement utilisé.
Par exemple pour le shell, * c'est un caractère de globalisation (qu'on peut appelé jocker ou caractère générique), qui permet de couvrir la plage n'importe quel caracète
Donc *sexe* peut être n'importe quoi avec le mot sexe à l'intérieur ;-))))
Ca veut dire
sexe
ksdjfsexe
jsdkfjsexeksdjfkljsd
sjdkfjsexe.com
etc
* pour les expressions régulières c'est un métacaractère quantificateur qui s'applique uniquement au caractère oui métacaractère qui le précède, et il veut dire zéro fois, une fois ou n'importe combien de fois que tu peux
Donc *sexe* s'est une regex incorrecte vu que le 1er * ne quantifie rien
Correct sera .*sexe*
Mais en ce cas .*sexe* reconnait zéro, une fois ou n'importe combien de fois un n'importe quel caractère suit de s, e, x, e zéro fois, une fois ou n'importe combien de fois
Ca veut dire que .*sexe* peur reconnaître
sex
ajajfkljsex
jsdfkj sklsexe
sdkjfklsjdsexeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
mais pas
sdkfjksexe.com
* est un caractère qui a des signification différentes en fonction d'environnement utilisé.
Par exemple pour le shell, * c'est un caractère de globalisation (qu'on peut appelé jocker ou caractère générique), qui permet de couvrir la plage n'importe quel caracète
Donc *sexe* peut être n'importe quoi avec le mot sexe à l'intérieur ;-))))
Ca veut dire
sexe
ksdjfsexe
jsdkfjsexeksdjfkljsd
sjdkfjsexe.com
etc
* pour les expressions régulières c'est un métacaractère quantificateur qui s'applique uniquement au caractère oui métacaractère qui le précède, et il veut dire zéro fois, une fois ou n'importe combien de fois que tu peux
Donc *sexe* s'est une regex incorrecte vu que le 1er * ne quantifie rien
Correct sera .*sexe*
Mais en ce cas .*sexe* reconnait zéro, une fois ou n'importe combien de fois un n'importe quel caractère suit de s, e, x, e zéro fois, une fois ou n'importe combien de fois
Ca veut dire que .*sexe* peur reconnaître
sex
ajajfkljsex
jsdfkj sklsexe
sdkjfklsjdsexeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
mais pas
sdkfjksexe.com
SAlut lamij,
je te remercies de ces explications assez detaillées malheureusement je vais devoir t'avouer que je n'ai rien compris :(
si .*sexe* reconnait jsdfkj sklsexe, pourquoi ne reconnait-il pas sdkfjksexe.com ?
Il y a une subtilité que j'ai dois avoir du mal à appréhender sur ce point-là.
Merci d'avance si tu peux m'eclairer ;-)
je te remercies de ces explications assez detaillées malheureusement je vais devoir t'avouer que je n'ai rien compris :(
si .*sexe* reconnait jsdfkj sklsexe, pourquoi ne reconnait-il pas sdkfjksexe.com ?
Il y a une subtilité que j'ai dois avoir du mal à appréhender sur ce point-là.
Merci d'avance si tu peux m'eclairer ;-)
Il y a une chose que je n'ai pas precisé.
Il faut tenir compte de l'implementation des regex dans l'outils respectif.
Je suis au boulot, et je n'ai pas le temps mai ce soir je vais te donner des exemples pour mieux comprendre.
Pour l'instant la chose que je peux dire c'est que si on veut parser un texte on a besoin d'au moins 3 choses
- connaître la structure de texte
- savoir l'outil qu'on veut utiliser
- connaître l'implementation des regex dans l'outil qu'on utilise
Et puis, des cigarettes, des bonbons, du cafénn,du thé, de la musique, du temps libre etc. ;-)
Il faut tenir compte de l'implementation des regex dans l'outils respectif.
Je suis au boulot, et je n'ai pas le temps mai ce soir je vais te donner des exemples pour mieux comprendre.
Pour l'instant la chose que je peux dire c'est que si on veut parser un texte on a besoin d'au moins 3 choses
- connaître la structure de texte
- savoir l'outil qu'on veut utiliser
- connaître l'implementation des regex dans l'outil qu'on utilise
Et puis, des cigarettes, des bonbons, du cafénn,du thé, de la musique, du temps libre etc. ;-)