commencer une chaine de caractère (regex ^) ?

commencer une chaine de caractère (regex ^) ?

par stephane ngov,
Nombre de réponses : 15

Bonjour,

je teste les questions à réponse courte sous une leçon.

Je pose une question et je souhaite que la bonne réponse soit un mot

qui commence par "ch" ?


j'ai essayé ceci

^ch

cela ne fonctionne pas triste

normalement le "^ " c'est le début de la chaine

dans une réponse regex, faut t'il avoir un début et une fin ? (utilisation du $) ?

Mon but est d'analyser le début de chaine en numérique ou alphanumérique


merci d'avance pour la réponse.




Moyenne des évaluations  -
En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

c'est bon j'ai trouvé

^ch.*


début ch + "." n'importe quel caractère + "*" nombre de caractère indéfinie

En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

Par contre comment accepter la majuscule et minuscule ?


j'ai essayé ceci

^ch.*i

et

(^ch.*)i


cela ne fonctionne pas en majuscule ?

En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Gaël Mifsud,

Salut,


Si je ne me trompe pas : ^(ch|CH|Ch).* te permettra de sélectionner les trois possibilités.


Petite page bien pratique pour tester tes regexp :

http://www.annuaire-info.com/outil-referencement/expression-reguliere/

J'ai essayé avec :
- "LA CHARGE" => faux !
- "Le changement" => faux !
- "changement" => vrai !
- "Changer les chose" => vrai !


Et j'utilise souvent cette cheatsheet :

http://www.cheatography.com/davechild/cheat-sheets/regular-expressions/


Bonne chance.

En réponse à Gaël Mifsud

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

Merci de la réponse,

mais pour éviter de mettre tout ces "ou ", normalement il y avais le "i"

mais peut être que dans moodle il n'existe pas celui là.

En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Gaël Mifsud,
As-tu essayé la suivante ?
(?i)(ch)+

À priori il faut utiliser + et pas .*
Et le modificateur doit se trouver à gauche pour modifier tout ce qui se trouve à sa droite.

Mais je parle en général, je n'utilise pas les regexp dans Moodle, donc j'espère ne pas dire de bêtise.
En réponse à Gaël Mifsud

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

Merci c'est effectivement (?i)

par contre le + je crois que cela ne fonctionne pas sourire

En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

^ch.*/i

En réponse à Joseph Rézeau

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

merci joseph,

le / c'est pour l'échappement ? ou je me trompe.

C'est ce qu'il me semblait le i en dernier...sourire

En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Non, l'échappement c'est avec la barre oblique inverse (backslash).

Oui, le i en dernier, mais précédé d'une barre oblique (slash).

En réponse à Joseph Rézeau

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

encore une autre si je peux ....

un chiffre qui n'est pas entre 3 et 8 inclus ?


^(?![3-8])


 







En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Un site très pratique pour tester les expressions régulières : http://regex101.com/

Voici une possibilité :

screenshot #1

En réponse à Joseph Rézeau

Re: commencer une chaine de caractère (regex ^) ?

par stephane ngov,

Merci je vais testé pour voir.

j'avais l'habitue d'utiliser le posix,

par apparemment pour moodle c'est du PCRE,

c'est pour cela que j'ai du mal a trouver la bonne regex.

Sinon je trouve que la document des regex est un peu difficile à lire,

avec le regex il faut essayer expliquer cela petit à petit,

lorsqu'on montre à un enseignant , lui tout de suite me fait la remarque

"que cela à l'aire d' être compliqué tout ça".

Mais bon ce n'est que mon avis personnel ...


En réponse à stephane ngov

Re: commencer une chaine de caractère (regex ^) ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Oui, les expressions régulières ce n'est pas "simple". Mais il faut savoir ce qu'on veut. On a le choix entre "analyse simpliste et facile à programmer" ou "analyse complexe difficile à programmer". C'est la vie.clin d’œil

Joseph

En réponse à Joseph Rézeau

Re: commencer une chaine de caractère (regex ^) ?

par Guy Veyssière,

Jehan Rictus l'a écrit autrement :

Paraît qu'y aura toujours d' la dèche
Et paraît qu'y a quèt' chos' qu' empêche
Qu'un jour la Vie a soye pus gaie.
En réponse à Guy Veyssière

Re: commencer une chaine de caractère (regex ^) ?

par Joseph Rézeau,
Avatar Développeurs Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Hello Guy ! Et Coluche y est aussi allé de son couplet :

Misère, misère!
C´est toujours sur les pauvres gens
Que tu t´acharnes obstinément