Aide linux expression rationnelle
Fermé
kelkun
-
18 nov. 2011 à 09:46
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 19 nov. 2011 à 02:34
mamiemando Messages postés 33401 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 28 novembre 2024 - 19 nov. 2011 à 02:34
A voir également:
- Aide linux expression rationnelle
- Linux mint 32 bits - Télécharger - Systèmes d'exploitation
- Expression de recherche - Guide
- Diskinternals linux reader - Télécharger - Stockage
- Linux live usb creator - Télécharger - Outils Internet
- Fortnite linux ✓ - Forum Ubuntu
1 réponse
mamiemando
Messages postés
33401
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
28 novembre 2024
7 804
18 nov. 2011 à 09:59
18 nov. 2011 à 09:59
Pour commencer :
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
On peut donc t'expliquer les points de cours des expressions régulières que tu n'as pas compris, répondre à un problème particulier, mais a priori, on n'est pas là pour faire ton exercice à ta place.
Je t'invite à relire ton cours sur les automates et les expressions régulières. Il faut juste comprendre qu'un automate maintient un ensemble d'état connectés par des transitions. On traverse tel ou tel arc en fonction du caractère qu'on lit. Le formalisme des expressions régulières ne sert qu'à donner une chaîne de caractères (pattern) qui décrit cet automate.
Par exemple dans la syntaxe grep : "^a*b$" décrit une chaîne qui commence par une suite de 0 ou plus caractère(s) "a", suivi d'un b et d'un caractère de fin de ligne.
Concrètement tu as donc un sommet initial (appelons-le 0) avec deux arcs sortants :
- un arc qui boucle sur 0 (si le caractère lu est "a")
- un arc qui pointe vers un état 1 (si le caractère lu est "b")
Pour l'état 1, soit tu lis un caractère de fin de ligne et tu passes dans l'état 2, soit pas (et la chaîne ne correspond pas au motif)
L'état 2 est un état final, si on y arrive et qu'on a fini de lire la chaîne, alors cette chaîne correspond au pattern.
La seule chose ensuite qu'il reste à comprendre, c'est à quoi en terme d'automate correspondent les différents méta-caractères (^, $, *....) et tout cela est expliqué dans :
Bonne chance
https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
On peut donc t'expliquer les points de cours des expressions régulières que tu n'as pas compris, répondre à un problème particulier, mais a priori, on n'est pas là pour faire ton exercice à ta place.
Je t'invite à relire ton cours sur les automates et les expressions régulières. Il faut juste comprendre qu'un automate maintient un ensemble d'état connectés par des transitions. On traverse tel ou tel arc en fonction du caractère qu'on lit. Le formalisme des expressions régulières ne sert qu'à donner une chaîne de caractères (pattern) qui décrit cet automate.
Par exemple dans la syntaxe grep : "^a*b$" décrit une chaîne qui commence par une suite de 0 ou plus caractère(s) "a", suivi d'un b et d'un caractère de fin de ligne.
Concrètement tu as donc un sommet initial (appelons-le 0) avec deux arcs sortants :
- un arc qui boucle sur 0 (si le caractère lu est "a")
- un arc qui pointe vers un état 1 (si le caractère lu est "b")
Pour l'état 1, soit tu lis un caractère de fin de ligne et tu passes dans l'état 2, soit pas (et la chaîne ne correspond pas au motif)
L'état 2 est un état final, si on y arrive et qu'on a fini de lire la chaîne, alors cette chaîne correspond au pattern.
La seule chose ensuite qu'il reste à comprendre, c'est à quoi en terme d'automate correspondent les différents méta-caractères (^, $, *....) et tout cela est expliqué dans :
man grep
Bonne chance
18 nov. 2011 à 17:36
Merci pour m'avoir expliqué je vais essayé avec mon cours.
19 nov. 2011 à 02:34