Les Exercices

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Aller en bas

default Les Exercices

Message par Milouze14 le Sam 12 Mai 2018, 06:29

Rappel du premier message :

Hello,
punaise, tu m'as bien gâté Arnaud, tout est bien expliqué par contre ici:
Les classes de caractères:

Code:

var texte="M14 se balade";
var regexp=/\w\d\d/;
alert(regexp.exec(texte));

Je n'arrive pas a comprend pourquoi j'ai M14 en retour , je ne devraits rien avoir normalement?

Code:
\w Correspond à n'importe quel caractère alpha-numérique soit à [A-Za-z0-9_]
Le M14 en fait parti aussi?

si je comprendre bien , si ma variable texte était:
Code:
var texte="M14 se balade dans un bois";

la regex serait alors?:
Code:
var regexp=/\w\d\d\d\d\d/;


Dernière édition par Milouze14 le Sam 01 Sep 2018, 06:06, édité 1 fois


[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Milouze14 le Lun 21 Mai 2018, 08:38

Hello Arnaud,

ce qui me plante dans la réflexion sont les sauts de ligne car j'ai la compréhension très compliquée en temps réel  Very Happy .
Ensuite,je viens juste de me rendre compte pour la signification des deux points:
Code:
[^:]
Cela correspond à :
Code:

nom:
âge:
pouvoir spécial:


Code:
/[^:]+:\s*(.+)\n[^:]+:\s*(.+)\n[^\:]+:\s*(.+)/


Si on devait juste capturer:
Dagda
5000
et Chaudron d'abondance
La regexp devrait être comment ?

Déjà 2 heures sur la page html que tu as créé afin que je puisse m'amuser un peu et toujours rien avec mes tests!!!!!

Edit:

C'est déjà un début,j'ai pu capturer"5000":
Code:
/(\d[^:]{4})/

Edit:
Dagda
Code:
/\s.{5}/


Sur la page html précédente que tu as créé , j'ai l'alerte suivante:
nom: Dagda
âge: 5000 ans
pouvoir spécial: Chaudron d'abondance,Dagda,5000 ans,Chaudron d'abondance
alors que j'aimerais avoir:
Dagda
5000
Chaudron d'abondance
avatar
Milouze14
Administrateur
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 Exercices

Message par Titou85 le Lun 21 Mai 2018, 12:13

Pas de souci, ce n'est pas quelque chose de réputé évident.

N'oublie pas de jeter un oeil à la doc:
[Vous devez être inscrit et connecté pour voir ce lien]

Voici un exemple avec un texte bien plus basique:
Code:
10 dix
vingt 20
30 trente
quarante 40
50 cinquante

JavaScript ne voit pas le texte comme toi et moi le voyons, pour lui le texte se présente ainsi (\n représente une fin de ligne):
Code:
10 dix\nvingt 20\n30 trente\nquarante 40\n50 cinquante
Pour t'en convaincre essaye le code JavaScript suivant:
Code:
alert("bon\njour\n\n!");

Maintenant essaye avec les regexp suivantes:

Code:
/\d+/g
Trouve donc toutes les valeurs numériques

Code:
/\d+$/g
Ne trouve rien car aucune valeur numérique à la fin du texte ( pas de drapeau m ).

Code:
/\d+$/gm
Trouve 20 et 40 puisque ce sont les seules valeurs numériques en fin de ligne ( drapeau m ).

Code:
/^\d+/gm
Trouve 10 30 et 50 puisque ce sont les seules valeurs numériques en début de ligne ( drapeau m ).



Pour le moment par rapport à l'exercice tu n'as pas besoin du drapeau m.
Arrow 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, ce dernier liste alors toutes les occurrences correspondant au modèle dans sa totalité.


Enfin pour répondre à ta question voici une regexp qui peut correspondre:
Code:
/[^:]+:\s*(.+)\n[^:]+:\s*(\d+)\D*\n[^\:]+:\s*(.+)/

Les regexp que tu as fait peuvent fonctionner mais elles t'enverront dans le mur si je choisis de changer le nom de mon personnage par Belenos par exemple Surprised

Ta regexp:
Code:
/(\d[^:]{4})/
veut dire: un caractère numérique suivi de tout caractère autre que : et ce 4 fois
Tu ne trouves pas 5000 en réalité mais 5000 suivi d'un espace, si tu le sélectionnes dans la zone affichant les captures tu le verras bien Wink

Ta regexp:
Code:
/\s.{5}/
veut dire: un caractère blanc (espace, tabulation etc) suivi de presque n'importe quoi (voir documentation) 5 fois.
D'où ma remarque pour Belenos qui serait un personnage introuvable pour ta regexp.
avatar
Titou85
Administrateur
Administrateur

Prénom : Arnaud Masculin Date d'inscription : 19/12/2015
Age : 50

Revenir en haut Aller en bas

default Re: Les Exercices

Message par Milouze14 le Lun 21 Mai 2018, 19:31

Pas de souci, ce n'est pas quelque chose de réputé évident.

Ouf, cela me rassure Very Happy .

Je me suis fait la réflexion cette après midi ( vi même lorsque je ne suis pas sur le pc en train de coder , je pense au regexp) concernant les les sauts de ligne espace blanc, retour chariot.

En faite il faut renseigner a chaque fois ce que l'on veut trouver contrairement à une boucle en Jquery qui elle une fois renseigner trouvera tout.

Merci pour toutes tes explications Arnaud, je vais m'y pencher sérieusement
dans la semaine.Ce matin j'ai laissé tomber car mes yeux fatigués sérieusement et franchement j’espère qu'ils ne vont pas me faire faux bond Crying or Very sad .
Bonne soirée mon ami.







[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Milouze14 le Ven 25 Mai 2018, 04:28

Hello Arnaud,
je me relance dans la course avec toujours le plaisir d'avancer, et comme je bloque sur un truc précis, je veux récupérer le dernier mot:
pouvoir spécial: Chaudron d'abondance

Soit "d'abondance".

ma regexp est elle bonne?

Code:
/[^:]+:\s*(.+)\s[']*(.+)/


Merci Wink


[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Titou85 le Ven 25 Mai 2018, 14:58

Tu vois tu commences déjà a avoir plus d'aisance en revanche j'aimerais que tu m'expliques en détail ce que recherche ta RegExp car il y a quand même un petit couac et je pense que si tu me l'expliques tu as des chances de trouver par toi-même ^^
avatar
Titou85
Administrateur
Administrateur

Prénom : Arnaud Masculin Date d'inscription : 19/12/2015
Age : 50

Revenir en haut Aller en bas

default Re: Les Exercices

Message par Milouze14 le Ven 25 Mai 2018, 18:23

Alors,
après relecture des différents messages:

Code:
Il serait sans-doute plus gratifiant que tu me proposes toi même un exercice qui te semble intéressant à travailler ?

Je crois que pour moi, c'est une évidence Arnaud..

pouvoir spécial: Chaudron d'abondance

en faite ceci suffirait:
Code:

/\s*(.+)\s[']*(.+)/
ou encore
Code:

/:\s*(.+)\s[']*(.+)/

je recherche le premier caractère blanc :
\s
puis un contenu qui peut apparaitre 0,1 ou plusieurs fois en recherchant n'importe quels caractères avec lettre obligatoire
*(.+)
puis je cherche l'apostrophe:
[']
et rebelote pour le reste.
Je ne sais pas si j'ai bien résumé cette RegExp !!!!!



[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Titou85 le Sam 26 Mai 2018, 01:53

Ah non, les quantificateurs se rapportent à l'élément qu'ils précèdent, je te conseille de relire la partie :
[Vous devez être inscrit et connecté pour voir ce lien]

Ensuite tu peux me détailler ta regexp:

Code:

/\s*(.+)\s[']*(.+)/

dans sa totalité Wink


Pour les futurs exercices que tu souhaiteras faire, je te proposerai mes regexp une fois les tiennes proposées
avatar
Titou85
Administrateur
Administrateur

Prénom : Arnaud Masculin Date d'inscription : 19/12/2015
Age : 50

Revenir en haut Aller en bas

default Re: Les Exercices

Message par Milouze14 le Sam 26 Mai 2018, 07:49

Hum,
en faite il y a bien plus simple pour capturer ce que je souhaite:

Code:
/d'abondance/

Purée, je me mélange les pinceaux, alors que que ce que j'ai proposé et bien plus simple.

Pour les futurs exercices que tu souhaiteras faire, je te proposerai mes regexp une fois les tiennes proposées


Ok pas de problème, mais pas en ce moment car l'entraide revient de plus belle.

Quoique, en m'excercant sur:
Code:
<milouze></milouze>
Si je veux capturer la balise de fermeture, ma RegExp sera:
Code:
/<\/.*?>/

Sur:
Code:
M14 se balade dans le 85
si je veux récupérer le 85:
Code:
/\d\d$/

J'espére que j'ai trouvé cette fois ci car je désespère Embarassed
avatar
Milouze14
Administrateur
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 Exercices

Message par Titou85 le Sam 26 Mai 2018, 09:03

Code:
/d'abondance/
Certes ça fonctionne en écrivant directement ce que tu cherches dans la regexp mais uniquement tant que c'est un chaudron d'abondance, si un jour il s'agit d'un chaudron d'insuffisance ça ne fonctionnera plus du tout, on ne doit écrire directement ce qu'on veut que si il s'agit d'un texte qui ne change pas.

Voici une regexp qui capture tout ce qui n'est pas un espace blanc en fin de texte:
Code:
/\S+$/

Tu as ainsi une regexp qui fonctionnera toujours même avec des caractères accentués comme chaudron d'austérité Wink


Concernant :

Code:
/<\/.*?>/

C'est parfait, rien à dire ^^


Concernant :

Code:
/\d\d$/

Pas vraiment de souci non plus car c'est tout à fait fonctionnel, mais tu aurais pu aussi l'écrire ainsi :
Code:
/\d+$/



J’espère que j'ai trouvé cette fois ci car je désespère

Il ne faut pas, les débuts sont toujours délicats car il y a un petit travail d'analyse à faire sur ce qu'on souhaite récupérer, c'est avec la pratique et les exercices qu'on va faire ensemble que tu apprendras à développer une regexp plus facilement.
avatar
Titou85
Administrateur
Administrateur

Prénom : Arnaud Masculin Date d'inscription : 19/12/2015
Age : 50

Revenir en haut Aller en bas

default Re: Les Exercices

Message par Milouze14 le Sam 26 Mai 2018, 09:23

Hum, j'aurais modifié ma regexp par:
/d'insuffisance/ Very Happy .

Ce qui me chagrine,lorsque tu donnes la solution,
c'est que je vois aussitôt le rapprochement et qu'auparavant j'en suis incapble
Code:
/\S+$/

Et pour capturer pouvoir?
(pouvoir spécial: Chaudron d'abondance)

Code:
/^\S+/

Merci pour le réconfort Arnaud, il faut que je bosse et mémorise à tout prix les quantificateurs et leurs fonctions suivants leurs positionnement Wink





[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Titou85 le Sam 26 Mai 2018, 16:04

Tu as compris et pour capturer pouvoir spécial je te conseillerais de chercher tout caractère autre que les deux points :
avatar
Titou85
Administrateur
Administrateur

Prénom : Arnaud Masculin Date d'inscription : 19/12/2015
Age : 50

Revenir en haut Aller en bas

default Re: Les Exercices

Message par Milouze14 le Mar 29 Mai 2018, 04:22

Hello Arnaud,
en espérant que ta nouvelle box soit opérationnelle car il n'y a rien de plus pénible
lorsque l'on code de ne pas avoir Internet pale .

Alors pour répondre:

pour capturer pouvoir spécial je te conseillerais de chercher tout caractère autre que les deux points :

ma RegExp serait alors:
Code:

/[^:]+/


[Vous devez être inscrit et connecté pour voir ce lien]
avatar
Milouze14
Administrateur
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 Exercices

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Page 3 sur 4 Précédent  1, 2, 3, 4  Suivant

Revenir en haut

- Sujets similaires

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