Aide expression régulière
Zempachi
Messages postés
7572
Statut
Contributeur
-
pfyffo -
pfyffo -
Salut,
alors voilà n'étant pas un habitué des expression régulière, je fais appel à votre aide.
Voici la bete:
| ([^a-z]*;|[^A-Z]*;){1,}
Ce que je comprends c'est qu'on doit avoir ou du vide ou au moins une chaine de caractères séparée par un ";", chaque chaine étant soit en majuscule soit en minuscule (les autres caractères hors alphabet étant accepté).
Ai je bon?
Merci d'avance.
alors voilà n'étant pas un habitué des expression régulière, je fais appel à votre aide.
Voici la bete:
| ([^a-z]*;|[^A-Z]*;){1,}
Ce que je comprends c'est qu'on doit avoir ou du vide ou au moins une chaine de caractères séparée par un ";", chaque chaine étant soit en majuscule soit en minuscule (les autres caractères hors alphabet étant accepté).
Ai je bon?
Merci d'avance.
A voir également:
- Aide expression régulière
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Expression de recherche - Guide
- Avoir du ping expression ✓ - Forum jeux en ligne
- T'as du ping expression - Forum Réseau
6 réponses
Ben c'est bizzare.
Ca commence par un | ce qui est le signe "ou" et ici il n'y a pas d'opérande à gauche donc ça me semble incorrect.
A part ça, ce que je vois texto ici (en enlevant le pipe du début), c'est ça
0 ou n caractères hors alphabétiques minuscules puis soit un ";" soit 0 ou n caractères hors alphabétiques majuscules puis un ";".
Le tout étant présent au moins une fois.
Ca commence par un | ce qui est le signe "ou" et ici il n'y a pas d'opérande à gauche donc ça me semble incorrect.
A part ça, ce que je vois texto ici (en enlevant le pipe du début), c'est ça
0 ou n caractères hors alphabétiques minuscules puis soit un ";" soit 0 ou n caractères hors alphabétiques majuscules puis un ";".
Le tout étant présent au moins une fois.
Salut vous deux,
En gros je suis d'accord avec Kilian, le seul truc qui me gène c'est plus que j'aurai réduit l'expression à :
- soit 0 ou n caractères hors alphabétiques minuscules suivit d'un point virgule
- soit 0 ou n caractères hors alphabétiques majuscules suivit d'un point virgule
- le tout présent au moins une fois
d'où ma réduction de l'expression à :
- soit 0 ou n caractères hors alphabétiques minuscules ou majuscules suivit d'un point virgule.
;-))
En gros je suis d'accord avec Kilian, le seul truc qui me gène c'est plus que j'aurai réduit l'expression à :
([^a-zA-Z]*;){1,} car j'interprète plutôt l'expression :([^a-z]*;|[^A-Z]*;){1,}comme ceci :
- soit 0 ou n caractères hors alphabétiques minuscules suivit d'un point virgule
- soit 0 ou n caractères hors alphabétiques majuscules suivit d'un point virgule
- le tout présent au moins une fois
d'où ma réduction de l'expression à :
- soit 0 ou n caractères hors alphabétiques minuscules ou majuscules suivit d'un point virgule.
;-))
Salut jipicy,
ta réduction je l'interprèterai plutôt comme
Donc je pense que c'est pas le résultat recherché... pour dire la vérité je crois que les gas ne savent pas ce qu'ils veulent... mais 'est un autre problème ^^
ta réduction je l'interprèterai plutôt comme
soit 0 ou n caractères hors alphabétiques minuscules et majuscules suivit d'un point virgule
Donc je pense que c'est pas le résultat recherché... pour dire la vérité je crois que les gas ne savent pas ce qu'ils veulent... mais 'est un autre problème ^^
Salut à vous Messieurs,
si je veux obtenir ça aide expression reguliere#11
alors pourquoi pas?
(\W*;){1,}
il y a quelque chose qui ne vas pas dans la regex
tu utilises d'abord un quantificateur gourmand qui vas avaler tout les caractères jusqu'au ; où la regex devra sous contrainte de céder le caractère ;
je ne vois pas l'intérêt de {1,}, qui signifie minimum une fois et maximum autant que tu peux
il faut plutôt penser au références arrières si on veut trouver la même corespondance
en traduction (et ce n'est pas du français mais c'est du regex :-))
cherche un caractère non alphabetique (à savoir que * reconnaît le caractère vide ) zéro fois, une fois ou autant de fois que tu peux suit d'un ; et tout ça une fois ou autant de fois que tu peux
C’est un peu bizarre bizarrement :-)
À spécifier aussi l'utilitaire qu'on emploi pour traiter la regex :
sed, awk, grep, perl, pyton, php, etc..
En bref pour ce qui est de l'interprétation [^a-zA-Z]
On dirait plutôt
- faire correspondre aux caractères non-énumérés
Et pas
- ne pas faire correspondre aux caractères énumérés
Encore une chose.
Planté une regex comme ça sans dire ce qu’on veut obtenir et aussi sur quoi on doit vérifier la correspondance peut dire n’importe quoi et rien. :-)
Voilà un exemple de bête
:-))
si je veux obtenir ça aide expression reguliere#11
alors pourquoi pas?
(\W*;){1,}
il y a quelque chose qui ne vas pas dans la regex
tu utilises d'abord un quantificateur gourmand qui vas avaler tout les caractères jusqu'au ; où la regex devra sous contrainte de céder le caractère ;
je ne vois pas l'intérêt de {1,}, qui signifie minimum une fois et maximum autant que tu peux
il faut plutôt penser au références arrières si on veut trouver la même corespondance
en traduction (et ce n'est pas du français mais c'est du regex :-))
cherche un caractère non alphabetique (à savoir que * reconnaît le caractère vide ) zéro fois, une fois ou autant de fois que tu peux suit d'un ; et tout ça une fois ou autant de fois que tu peux
C’est un peu bizarre bizarrement :-)
À spécifier aussi l'utilitaire qu'on emploi pour traiter la regex :
sed, awk, grep, perl, pyton, php, etc..
En bref pour ce qui est de l'interprétation [^a-zA-Z]
On dirait plutôt
- faire correspondre aux caractères non-énumérés
Et pas
- ne pas faire correspondre aux caractères énumérés
Encore une chose.
Planté une regex comme ça sans dire ce qu’on veut obtenir et aussi sur quoi on doit vérifier la correspondance peut dire n’importe quoi et rien. :-)
Voilà un exemple de bête
/^\s*(?:([^\w\s]+)(\s*).*\n)(?:\s*\1\2?.*\n)+$/Et je ne te demande pas ce que ça veut dire
:-))
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mon problème n'est pas d'établir la regexp mais simplement de la respecter.
en ce cas il fait dire le contexte pour être sûr qu'elle fait ce qu'elle doit faire :-))
Ce n'est pas moi qui aies établi cette regexp et je ne veux (peux?!) pas la modifier.
Je ne t'ai dit pas de la modifié (c'était juste une autre façon de voir les choses :-))
En revanche s'il s'avère nécessaire un changement il faut être ouvert :-))
Si ton problème est résolu tant mieux, sinon dit sur quoi tu veux tester la regex et je vais regarder, mais ça sera pour plus tard, je n 'ai pas mes outils avec moi.
en ce cas il fait dire le contexte pour être sûr qu'elle fait ce qu'elle doit faire :-))
Ce n'est pas moi qui aies établi cette regexp et je ne veux (peux?!) pas la modifier.
Je ne t'ai dit pas de la modifié (c'était juste une autre façon de voir les choses :-))
En revanche s'il s'avère nécessaire un changement il faut être ouvert :-))
Si ton problème est résolu tant mieux, sinon dit sur quoi tu veux tester la regex et je vais regarder, mais ça sera pour plus tard, je n 'ai pas mes outils avec moi.
Salut lami20j
effectivement, mon problème est résolu dans la mesure ou l'interprétation que j'en ai fait au départ semble correcte: c'est la seule chose qui compte en fait. ^^
Apres sur la pertinence de cette regexp, là j'avoues que je suis pas compétent.
En tout merci à vous trois pour toutes ces précisions.
: )
effectivement, mon problème est résolu dans la mesure ou l'interprétation que j'en ai fait au départ semble correcte: c'est la seule chose qui compte en fait. ^^
Apres sur la pertinence de cette regexp, là j'avoues que je suis pas compétent.
En tout merci à vous trois pour toutes ces précisions.
: )
-------tu demandes à qui? :-)) --------
Je demandais à Zempachi, parce que apparemment des inconnus habillés en noir et avec des lunettes de soleil lui ont livré une regex bizzare... :-))
------allez fait une regex qui trouve les triplons le...
Ourf!, alors euh, ça donne ce...ce...le...aaahhh....
------ et aussi le groupe de ... dans ta signature :-DDD ou n'importe où :-DDD
Et ça alors c'est..euh...je...je....
Je demandais à Zempachi, parce que apparemment des inconnus habillés en noir et avec des lunettes de soleil lui ont livré une regex bizzare... :-))
------allez fait une regex qui trouve les triplons le...
Ourf!, alors euh, ça donne ce...ce...le...aaahhh....
(le\\.{3}[^.]+){3}
------ et aussi le groupe de ... dans ta signature :-DDD ou n'importe où :-DDD
Et ça alors c'est..euh...je...je....
(\\.{3}[^.]+)+
--
<code>..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...
Mais pour le reste, même si on dirait pas ^^, il semble que je n'ai pas trop dit de conneries.
En tout cas les gas qui m'ont refilé cela sont à mon avis à coté de la plaque, mais bon comme c'est pas moi qui décide alors j'applique.
^^
Merci killian.
En fait c'est simple essaie de compiler cette expression régulière avec le langage de ton choix, si tu as une erreur avec le pipe du début, ça confirmera.
Pour le pipe du milieu, je pars du principe que les "ou" s'appliquent directement à ce qu'on trouve à gauche et à droite, si on a un groupe on prend le groupe si on a un caractère on prend le caractère. Je pense que ça fonctionne comme ça autrement ce serait illogique.
Je n'ai jamais utilisé les pipe que pour des groupes personnellement...