Rechercher : dans
Par :

Aide expression régulière

Dernière réponse le 5 jun 2007 à 14:32:38 Zempachi, le 5 jun 2007 à 11:15:36 
 Signaler ce message aux modérateurs

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.

intermittent de la poésie
Membre fondateur du FJH
Configuration: Windows XP
Firefox 2.0.0.4

Meilleures réponses pour « Aide expression régulière » dans :
[RegExp] Récupérer une adresse IP VoirFinalité Mise en œuvre Explications Interprétation du motif Récupérer une adresse IP Finalité Pour récupérer une IP dans un fichier texte, fichiers journaux, pages web, etc. Mise en œuvre L'expression régulière suivante combinée à la...
Google - Recherche d'une expression exacte VoirLorsque l’on souhaite faire la recherche d’une expression exacte, il suffit de mettre cette expression entre guillemets. Exemple : "animal domestique" référencera uniquement les sites comportant l’expression "animal domestique".
Sed - Trucs et astuces VoirSubstitution Affichage Suppression Espace et tabulation Ligne vide Intervalle régulier Divers Joindre des lignes Affichage insensible à la casse Substitution Substituer "foo" par "bar" à chaque ligne Seulement la 1ère...
Télécharger Renamer4Mac VoirRenamer4Mac permet de renommer facilement un grand nombre de fichiers. Par un simple glisser/déposer des fichiers sur son icône ou dans sa fenêtre, on peut agir de différentes manières. par Rechercher/Remplacer (expression régulière et...
PHP - Expressions régulières VoirQu'est-ce qu'une expression régulière? Les expressions régulières sont des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, c'est-à-dire permettant de trouver les portions de la chaîne correspondant au...
Javascript - L'objet RegExp VoirLes particularités de l'objet RegExp L'objet RegExp est un objet permettant de manipuler des expressions régulières, c'est-à-dire des modèles créés à l'aide de caractères ASCII permettant de manipuler des chaînes de caractères, afin de trouver des...
Tableur - Les expressions arithmétiques VoirPrésentation Les expressions arithmétiques sont des expressions simples construites avec des opérateurs arithmétiques et des constantes ou des références à des cellules. On appelle opérandes les valeurs sur lesquelles l'opérateur agit. On distingue...

1

kilian, le 5 jun 2007 à 11:27:57
  • +1

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.

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

2

Zempachi, le 5 jun 2007 à 11:38:37

Pour le coup du pie de début je ne savais pas.
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.

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

4

kilian, le 5 jun 2007 à 11:48:33

Ben chais pas, peut être que j'ai mal interpété, peut être que le pipe du début à une signification que je ne connais pas.

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...

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

3

jipicy, le 5 jun 2007 à 11:46:53

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 à :

([^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.

;-)) Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

5

Zempachi, le 5 jun 2007 à 11:51:05

Salut jipicy,
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 ^^
intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

6

jipicy, le 5 jun 2007 à 11:52:54

Oups sorry, you're right ;-((

On s'y perd souvent avec tous ces OU et ces ET ;-))
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

9

jipicy, le 5 jun 2007 à 11:56:48

Je reviens à la charge...

Qu'on dise (en français du moins) :

hors alphabétiques minuscules et majuscules
ou
hors alphabétiques minuscules ou majuscules

ça revient au même non ????
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

10

Zempachi, le 5 jun 2007 à 12:00:17

Beh j'ai envie de dire non.
Dans le cas du "ou", tu peux avoir une chaine de caractère en majuscule ou en minuscule alors que dans le cas du "et" tu ne peux avoir ni l'un ni l'autre.

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

12

kilian, le 5 jun 2007 à 12:02:52
  • +1

Tout dépend où on mets les parenthèses dans ce qu'à dit Jipicy :-D

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

13

Zempachi, le 5 jun 2007 à 12:09:22

C'est à dire??
Je comprends pas trop?

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

14

kilian, le 5 jun 2007 à 12:39:26

Par exemple:
hors (alphabétiques minuscules ou majuscules) est différent de
(hors alphabétiques minuscules) ou majuscules

Bref la langue française est ambiguë tandis que les expressions régulières ne le sont pas.

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

16

kilian, le 5 jun 2007 à 12:51:13
  • +1

Me suis mal exprimé, je recommence.

hors alphabétiques minuscules et majuscules

est susceptible d'être compris en français commun comme ceci:
(hors alphabétiques minuscules) et (hors alphabétiques majuscules)


Et
hors alphabétiques minuscules ou majuscules

est susceptible d'être compris en français commun comme ceci:
hors (alphabétiques minuscules ou majuscules)


Ce qui nous donne bien la même chose:
Premier cas: (non a) et (non b)
Deuxième cas : non (a ou b)

Les deux cas sont égaux en logique pure.

Le problème c'est qu'on aura pas le reflexe, dans la parlotte au quotidien, de comprendre
hors alphabétiques minuscules et majuscules
comme étant
hors (alphabétiques minuscules et majuscules)
ce qui signifie qu'on ne veut pas voir de lettres minuscules et majuscules ensemble mais que le reste passe....
..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

17

jipicy, le 5 jun 2007 à 13:09:32

Excellente explication de maître Capel... oups... Kilian ;-))
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

18

Zempachi, le 5 jun 2007 à 13:15:04

Oki doki
^^

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

7

kilian, le 5 jun 2007 à 11:53:35

Oui mais voilà, je pense que le pipe prend les premiers et seuls opérandes situés à gauche et à droite.
Et dans ton interprétation, tu prends toute l'expression à gauche du pipe comme un groupe alors que ce n'en est pas un...
Par contre à droite si...

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

11

jipicy, le 5 jun 2007 à 12:02:00

Mea culpa, t'as raison, j'aurai dû faire des essais avant...

[jp@MDK tmpfs]$ echo "Bonjour @; Zempachi et @; Kilian" | egrep -o '([^a-z]*;|[^A-Z]*;){1,}'
onjour @;
empachi et @;

[jp@MDK tmpfs]$ echo "Bonjour @; Zempachi et @; Kilian" | egrep -o '([^a-zA-Z]*;){1,}'
 @;
 @;

[jp@MDK tmpfs]$
;-))
Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

15

kilian, le 5 jun 2007 à 12:39:55

:-)

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

8

Zempachi, le 5 jun 2007 à 11:56:07

M'en tout cas merci à vous deux!
: )

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

19

lami20j, le 5 jun 2007 à 13:21:55

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

/^\s*(?:([^\w\s]+)(\s*).*\n)(?:\s*\1\2?.*\n)+$/
Et je ne te demande pas ce que ça veut dire
:-)) lami20j

P.S. Pour ma pomme je rajoute
Quand il s'agit des regex, il faut penser regex et pas français :-))
J'ai de la chance je ne suis pas francophone donc je ne fais pas des efforts :-DDDD

Répondre à lami20j

20

Zempachi, le 5 jun 2007 à 13:32:12

Salut lami20j,
mon problème n'est pas d'établir la regexp mais simplement de la respecter.
Ce n'est pas moi qui aies établi cette regexp et je ne veux (peux?!) pas la modifier.

En tout cas tu confirmes mon impression de "ninportenawak"

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

21

lami20j, le 5 jun 2007 à 13:40:58

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.
lami20j

Répondre à lami20j

22

jipicy, le 5 jun 2007 à 13:47:04

C'est à cet heure ci que tu arrives toi ??!!

Bon c'est la dernière fois que je t'y prends, la prochaine fois c'est privé de CCM pendant au moins 10 voir 11 minutes, et pas la peine de rouspéter, je serai intraitable !!! NoméO ! ;-DDD
Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

23

lami20j, le 5 jun 2007 à 13:50:01

la prochaine fois c'est privé de CCM pendant au moins 10 voir 11 minutes

Tu rigoles j'espère. Puisque j'étais déjà privé au moins 10 minutes de CCM, et je ne vais pas compter toutes les privations :-))
Qu'est-ce qu'il bidouille encore Jcheff :-DDDDDDD lami20j

Répondre à lami20j

24

Zempachi, le 5 jun 2007 à 14:15:42

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.
: )

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

25

kilian, le 5 jun 2007 à 14:17:49

Il y a un bureau des regexp là où tu bosses? :-)

..et le...le...enfin, non parce c'est...ya...quand...bah tu sais là le...

Répondre à kilian

26

lami20j, le 5 jun 2007 à 14:22:29

Tu demandes à qui? :-))

allez fait une regex qui trouve les triplons le... et aussi le groupe de ... dans ta signature :-DDD ou n'importe où :-DDD
lami20j

Répondre à lami20j

27

Zempachi, le 5 jun 2007 à 14:26:25

Il y a un bureau des regexp là où tu bosses?
lol!
non c'est dans les specs en fait.

intermittent de la poésie
Membre fondateur du FJH

Répondre à Zempachi

28

 kilian, le 5 jun 2007 à 14:32:38

-------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....

(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...

Répondre à kilian