Architecture du projet
"Le Monde Chronologique et Lexico3"
Document de travail
26/11/2004
Un corpus de veille : le journal Le Monde
Analyse quotidienne de la version électronique
du journal pour le Web
Fleury Serge, CLA2T/SYLED
3.1.1 La page d'accueil du site
3.1.6 Spécificités chronologiques
3.1.8.1 Générateur de corpus Thématique
3.1.8.2 Générateur de corpus Thématique avec filtrage de formes
3.1.8.3 Extracteur de corpus Thématique avec filtrage de formes
3.1.8.4 Extracteur de corpus complet avec filtrage de formes
3.1.8.5 Générateur de corpus Thématique (dit version v2)
3.1.8.6 Générateur de corpus Thématique (dit version v2) avec filtrage de formes
3.1.8.7 Extracteur de corpus Thématique (dit version v2) avec filtrage de formes
3.1.8.8 Extracteur de corpus complet (dit version v2) avec filtrage de formes
4.2 Préparation et manipulation des données
4.2.1 Traitements automatiques
4.3 Synthèse des traitements :
4.4 Traitements lexicométriques
4.4.1 Exemple de rapports construits avec Lexico3
4.4.1.1 Principales caractéristiques de la partition : DATE
4.4.1.2 Spécifs - Part : DATE Parties sélectionnées : "040125"
4.4.1.3 Graphes de ventilation de formes :
8.1.3 Présentation complémentaire
Ce document présente l'architecture mise en œuvre pour construire et analyser un corpus chronologique de la version électronique du journal Le Monde.
Chaque version quotidienne du journal Le Monde est régulièrement récupérée sur le site web du journal[1] : dans sa version HTML et dans sa version PDF. La version HTML[2] du journal est traitée pour produire différents états :
Les états quotidiens des contenus textuels sont ensuite nettoyés et concaténés pour produire des corpus chronologiques couvrant l'ensemble des dates de récupération.
Le démarrage de ce processus a commencé le 12 avril 2003 i.e. on dispose à ce jour d'un corpus regroupant l'ensemble des versions électroniques de chaque journée depuis cette date.
Hypertoile : http://sfmac.no-ip.com (accès restreint sur demande à serge.fleury@univ-paris3.fr)
Certains résultats construits sont aussi disponibles sans restriction ici :
http://www.cavi.univ-paris3.fr/ilpga/ilpga/tal/lexicoWWW/rapportsL3.htm
http://www.tal.univ-paris3.fr/sfleury/veille.htm

Le menu de gauche de cette page permet d'accéder aux rubriques présentées ci-dessous.
Présentation générale du projet
Présentation des différentes versions des corpus disponibles

La chaîne de traitement présentée infra construit différentes versions des données associées aux versions électroniques du journal.
Un corpus complet préparé pour être analysable par Lexico3 est construit par la chaîne de traitement : il rassemble l'intégralité des états électroniques du journal depuis le démarrage de ce projet. Ce corpus est partitionné de la manière suivante : ANNEE, MOIS, SEMAINE, DATE, RUBRIQUE, PAGE (article). En raison de la taille volumineuse de ce corpus, celui-ci est disponible sous la forme de plusieurs fichiers (un fichier couvre une période de 6 mois environ) dont la concaténation construit une version couvrant l’ensemble de la période disponible.
Un corpus complet au format XML et regroupant les contenus textuels est également construit à l'issue de la chaîne de traitement. Ce corpus est utilisé dans le moteur de requête présenté infra. Le schéma ci-dessous décrit la structure de ce corpus.

La chaîne de traitement construit des "corpus quotidiens" au format XML et au format Lexico3.

Des corpus supplémentaires sont construits sur le même principe que le corpus chronologique complet mais en ne conservant que des rubriques sélectionnées : FRANCE (regroupant les rubriques « France » et « France-Société » du journal), INTERNATIONAL (la rubrique « international » du journal), SOCIETE (la rubrique « société » du journal). Il est possible ne pas se restreindre à ces rubriques particulières et de construire un corpus thématique donné : un générateur de corpus thématique (i.e. lié à une rubrique donné) est disponible dans la chaîne de traitement mise en œuvre (cf infra).
La chaîne de traitement construit des "corpus quotidiens" au format Lexico3 qui contrairement aux précédents intègre une indication de rubrique. Les articles de navigation (menu et sommaire de la version HTML) ne sont pas conservés dans cette version de données.
Ce corpus résulte de la concaténation des précédentes données.
Cette version du corpus se distingue de la précédente de la manière suivante :
La version originale (construite par les éditeurs de la version électronique du journal) des états quotidiens est disponible dans sa version HTML (simplifiée). Cette version permet de reconstruire « à la volée » des corpus thématiques en utilisant les outils construits à cet effet (cf infra).

Dictionnaire des mots du journal et leur fréquence pour chaque jour (format HTML et XML)

La chaîne de traitements construit pour chaque journée traitée un index des mots utilisés et leur fréquence.
L'ensemble des calculs des spécificités chronologiques construites avec Lexico3 pour certaines dates.

Des calculs de spécificités (par jour) sont construits par Lexico3 pour certaines journées, pour le moment cette opération est réalisée manuellement.
Ensemble des rapports d'analyse construits avec Lexico3
Des rapports d'analyse réalisés avec Lexico3 sont construits à partir des différentes versions disponibles du corpus. A ce jour une vingtaine de rapport ont été construits (cf infra).
Outils associés aux projets[3]
Cette page donnent des liens vers les outils utilisés ou construits pour ce projet.

Un script Perl peut construire à la demande un état complet regroupant l’ensemble des articles d’une même rubrique du journal sur l’ensemble de la période disponible. On dispose à ce jour de tels états pour les rubriques : France, International et Société.
Ce script utilise l’application Lynx.
“Lynx is a fully-featured World Wide Web (WWW) browser for users on Unix, VMS, and other platforms running cursor-addressable, character-cell terminals or emulators. That includes vt100 terminals, other character-cell displays, and vt100 emulators such as Kermit or Procomm running on PCs or Macs. Lynx was a product of the Distributed Computing Group within Academic Computing Services of The University of Kansas. Lynx was originally developed by Lou Montulli,Michael Grobe, and Charles Rezac.Garrett Blythe created DosLynx and later joined the Lynx effort as well. Following the departures of Lou and Garrett for positions at Netscape in the summer of 1994, Craig Lavender provided support services for Lynx, and Ravikumar Kolli for DosLynx. Currently Lynx is being maintained and supported by members of the Internet community coordinated via the lynx-dev mailing list. Lynx is copyrighted by the University of Kansas and is distributed without restrictions on usage or redistribution under the GNU General Public License.”
Mode d’emploi
perl MKCLM-TH.pl -at repOut repIn date thema thema2
Le script doit être lancé avec 4 paramètres et une option complémentaire :
|
repIn |
le répertoire contenant un état quotidien du journal au format HTML |
|
date |
la date traitée |
|
thema |
la rubrique à conserver |
|
thema2 |
réécriture du nom de la rubrique après nettoyage typographique |
Ce script utilise l’application Lynx (cf supra).
Un script Perl permet de construire un état complet regroupant l’ensemble des articles d’une même rubrique et contenant un motif textuel donné (une expression régulière[4] permettant de sélectionner un groupe de mots par exemple).
Ce script utilise l’application Lynx (cf supra).
Mode d’emploi
perl MKCLM-TH-querystring.pl -at repOut repIn date thema thema2 queryString
Le script doit être lancé avec 5 paramètres et une option complémentaire :
|
repIn |
le répertoire contenant un état quotidien du journal au format HTML |
|
date |
la date traitée |
|
Thema |
la rubrique à conserver |
|
Thema2 |
réécriture du nom de la rubrique après nettoyage typographique |
|
queryString |
le motif à rechercher dans les articles à conserver |
Un script Perl/Tk permet d’extraire une sous-partie d’un corpus thématique (construit par les précédents scripts) en ne conservant que les articles contenant un motif donné (exprimé là encore par une expression régulière permettant de sélectionner une famille de mots).
Exemple d’utilisation :
A partir du corpus Thématique France, extraction des articles contenant les formes graphiques : sécurité, sécuritaire, etc.
Ci-dessous l’interface de cet extracteur :

MKCorpusLeMonde-Extracteur :
Ce programme prend en entrée un corpus thématique du journal Le Monde et un motif (une expression régulière) et il extrait tous les articles contenant le motif : le format en sortie est compatible avec Lexico3.
Mode d’emploi :
Ce programme existe sous 2 formes :
perl MKCorpusLeMonde-Extracteur -at repOut corpus queryString
Le script doit être lancé avec 2 paramètres et une option complémentaire :
o L’option –at permet de re-diriger les sorties vers le répertoire repOut
o Les paramètres à utiliser sont :
|
Corpus |
Le nom du corpus thématique utilisé |
|
queryString |
le motif à rechercher dans les articles à conserver |
INPUT :
Le corpus thématique (i.e. correspondant à une rubrique donnée) est issu de la chaîne de traitement présentée dans ce document. Pour charger ce corpus, utiliser le bouton "browse" puis sélectionner le corpus thématique souhaité. Le corpus en entrée contient un balisage propre à son utilisation avec Lexico3. Ce balisage tient compte essentiellement de l'aspect chronologique du corpus. On y trouve donc en général des balises du type ANNEE, MOIS, SEMAINE, DATE, PAGE (cette dernière balise correspondant en fait aux articles). Les valeurs des balises précédentes correspondent aux périodes temporelles associées aux parties du corpus visées. Ce balisage est maintenu par l'extracteur : le corpus en sortie aura une structure similaire.
FILTRE :
Les filtres permettent de sélectionner des articles (dans le corpus thématique) contenant une chaîne de caractère correspondant au filtre écrit. Un filtre est écrit sous la forme d'une expression régulière.
Ce motif permet de rechercher tous les mots qui commencent (\b) par la chaîne de caractères 'sécurit' (peu importe la casse) suivie d’une répétition de un à 'une infinité' de n'importe quel caractère compris entre a et z avant la fin du mot (\b). Les mots couverts par ce motif sont par exemple : sécurité, sécurités, sécuritaire etc.
OUTPUT :
Le corpus obtenu à l'issue de l'extraction contient tous les articles du corpus initial contenant le motif décrit par le filtre. Ce corpus en sortie est compatible avec le format de fichier pour Lexico3. De plus, il est possible de relancer le processus d'extraction sur ce fichier pour par exemple affiner le processus de filtrage des articles. Les corpus issus du processus d'extraction sont horodatés, il est conseillé cependant de leur donner un nom plus précis.
Un script Perl/Tk permet d’extraire une sous-partie du corpus complet en ne conservant que les articles contenant un motif donné (exprimé là encore par une expression régulière permettant de sélectionner une famille de mots).
Même principe que le précédent.
Nom du programme : MKCorpusLeMonde-Extracteur-complet.
Même principe que ci-dessus.
En cours de développement
Un moteur de requête qui permet pour le moment de lancer des requête sur un des états du corpus
Cette page donne accès à un moteur de requête sur la version XML du corpus. Le détail des outils mis en place dans ce moteur est détaillé infra. Ce moteur permet de lancer 2 types de requêtes :


Les données utilisées à ce jour dans ce moteur sont constituées de 2 fichiers au format XML, le premier couvre la période suivante : du 12 avril 2003 au 10 décembre 2003 et du 14 décembre 2003 au 25 janvier 2004. Ces deux fichiers font respectivement 90 Mo et 55 Mo.
Des tests ont été opérés pour mesurer les temps de traitement nécessaires pour travailler sur ces données volumineuses dans le contexte web mis en place actuellement :

Cet item donne accès à une page de formulaire permettant de lancer des requêtes (moteur de recherche) sur le corpus original "HTML simplifié et sans image". Ce processus de recherche prend appui sur le moteur d'indexation swish-e[5] qui est paramétré pour indexer l'ensemble des pages HTML du corpus original. L'image qui suit montre le résultat d'une requête sur la recherche du mot "laïcité".

Le journal Le Monde met à la disposition de ses abonnés à la version électronique du journal différentes versions électroniques du journal : une version au format PDF et 2 versions au format HTML (une avec image et l'autre sans). La version PDF et la version HTML sans image sont récupérées sur le site du journal quotidiennement et stockées sur disque. Seule la version HTML simplifiée est traitée par la chaîne de traitement décrite infra.
Après récupération, chaque version quotidienne est soumis à différentes manipulations.
Des scripts Perl ont été construits pour réaliser en plusieurs étapes différentes opérations :
Chaque version quotidienne du corpus au format Lexico3 est insérée dans les corpus de chronologique complet de référence (corpus complet, corpus France, corpus INTERNATIONAL). Certaines balises sont ajoutées pour marquer le changement de semaine, de mois ou d'année.
Un programme se charge ensuite d'insérer la balise RUBRIQUE dans le corpus complet au format Lexico3.
Cette étape de préparation des données n'est pas réalisée quotidiennement, mais en général une fois par semaine (en fin de semaine).
|
Phase n°0 |
|
|
Récupération des données sur le site du Monde.fr
|
|
|
Phase n°1 |
|
|
load-webxref.pl |
Lancement de la normalisation WEBXREF |
|
load-makeCorpusL3-date.pl |
Génération de corpus quotidien XML et pour L3 Index des mots |
|
load-makeAllThemaCorpus.pl |
Génération des corpus thématiques (toutes rubriques confondues) |
|
load-makeAllThemaCorpus-v2.pl |
Génération des corpus thématiques (toutes rubriques confondues) (v2) |
|
load-makeThemaCorpus.pl |
Génération des corpus thématiques "France" et "International" |
|
load-makeThemaCorpus-international-v2.pl |
|
|
load-makeThemaCorpus-france-v2.pl |
Génération du corpus thématique "France" (v2) |
|
load-makeThemaCorpus-societe.pl |
Génération du corpus thématique "Société" |
|
load-makeThemaCorpus-societe-v2.pl |
Génération du corpus thématique "Société" (v2) |
|
load-makeThemaCorpus-select.pl |
Génération de corpus thématique à la volée |
|
load-makeThemaCorpus-select-v2.pl |
Génération de corpus thématique à la volée (v2) |
|
Phase n°3 |
|
|
"Rebalisage" manuel ou automatique des corpus produits
|
|
|
Phase n°4 |
|
|
Traitements lexicométriques
|
|
A l'issue de l'étape précédente, on dispose quotidiennement d'un état du corpus prêt pour être analysé par Lexico3.
On présente ici un rapport[6] construit sur le corpus complet avec indication de rubriques sur la période du 12 avril 2003 au 25 janvier 2004.
Cette première page donne une présentation générale de caractéristiques du corpus et un point d'entrée vers les résultats construits :
|
|
|
|
|
20814181 |
|
|
236878 |
|
|
1054349 |
|
|
95427 |
Principales caractéristiques de la partition : DATE
Spécifs - Part : DATE Parties sélectionnées : "040125", (1)
Graphique de ventilation pour la partition : MOIS (1)
Graphique de ventilation pour la partition : MOIS (2)
Graphique de ventilation pour la partition : MOIS (3)
Graphique de ventilation pour la partition : MOIS (4)
Graphique de ventilation pour la partition : MOIS (5)
|
Partie |
Nb occurrences |
Nb formes |
Nb hapax |
Fréq. Max |
Forme |
|
"030412" |
112381 |
15126 |
8431 |
5810 |
de |
|
"030413" |
89082 |
13106 |
7320 |
4397 |
de |
|
"030415" |
99958 |
13044 |
7056 |
5078 |
de |
|
"030416" |
81067 |
12451 |
6982 |
4072 |
de |
|
"030417" |
72207 |
11741 |
6719 |
3498 |
de |
|
"030418" |
107672 |
15277 |
8499 |
5678 |
de |
|
"030419" |
99999 |
14715 |
8319 |
4614 |
de |
|
"030420" |
72675 |
11453 |
6375 |
3762 |
de |
|
"030422" |
54165 |
10057 |
6006 |
2669 |
de |
|
"030423" |
97590 |
13814 |
7679 |
4842 |
de |
|
"030424" |
74333 |
11761 |
6686 |
3814 |
de |
|
"030425" |
92763 |
14517 |
8247 |
4897 |
de |
|
"030426" |
93498 |
13941 |
7935 |
4708 |
de |
|
"030427" |
66391 |
11151 |
6411 |
3468 |
de |
|
"030429" |
100283 |
13112 |
7051 |
5100 |
de |
|
"030430" |
69765 |
11045 |
6198 |
3563 |
de |
|
"030501" |
98056 |
14705 |
8307 |
5004 |
de |
|
"030503" |
92861 |
13770 |
7733 |
4552 |
de |
|
"030504" |
80813 |
12136 |
6734 |
4125 |
de |
|
"030506" |
100027 |
13820 |
7759 |
5119 |
de |
|
"030507" |
81589 |
12653 |
7015 |
4283 |
de |
|
"030508" |
75886 |
12345 |
7054 |
3916 |
de |
|
"030509" |
88439 |
14165 |
8216 |
4527 |
de |
|
"030510" |
109317 |
14889 |
8280 |
5723 |
de |
|
"030511" |
68223 |
10795 |
6054 |
3485 |
de |
|
"030513" |
103051 |
13630 |
7437 |
5411 |
de |
|
"030515" |
101227 |
14182 |
8130 |
5182 |
de |
|
"030516" |
101761 |
14485 |
8217 |
5194 |
de |
|
"030517" |
99793 |
14218 |
7774 |
5065 |
de |
|
"030518" |
78494 |
12044 |
6733 |
4047 |
de |
|
"030520" |
96383 |
12977 |
7032 |
4772 |
de |
|
"030521" |
80838 |
12374 |
6924 |
4003 |
de |
|
"030522" |
81813 |
12312 |
6954 |
4098 |
de |
|
"030523" |
113852 |
15895 |
8935 |
5748 |
de |
|
"030524" |
107205 |
14783 |
8406 |
5270 |
de |
|
"030525" |
77704 |
11716 |
6650 |
3977 |
de |
|
"030527" |
104251 |
13356 |
7320 |
5162 |
de |
|
"030528" |
88341 |
12957 |
7299 |
4616 |
de |
|
"030529" |
76832 |
12359 |
7094 |
3858 |
de |
|
"030530" |
80979 |
13307 |
7654 |
4046 |
de |
|
"030531" |
109412 |
14862 |
8352 |
5275 |
de |
|
"030603" |
116495 |
14083 |
7613 |
5799 |
de |
|
"030605" |
80288 |
11430 |
6311 |
4140 |
de |
|
"030606" |
119069 |
16655 |
9402 |
5836 |
de |
|
"030607" |
105537 |
14628 |
8230 |
5221 |
de |
|
"030608" |
67059 |
10991 |
6322 |
3321 |
de |
|
"030610" |
54493 |
9684 |
5628 |
2741 |
de |
|
"030611" |
110572 |
14129 |
7646 |
5505 |
de |
|
"030612" |
78243 |
12733 |
7363 |
3916 |
de |
|
"030613" |
101523 |
15187 |
8584 |
4989 |
de |
|
"030614" |
101602 |
14337 |
8007 |
5158 |
de |
|
"030615" |
76090 |
11819 |
6672 |
3826 |
de |
|
"030617" |
98870 |
13461 |
7330 |
5026 |
de |
|
"030618" |
82917 |
12303 |
6882 |
4263 |
de |
|
"030619" |
84585 |
12517 |
6922 |
4348 |
de |
|
"030620" |
105921 |
15254 |
8488 |
5377 |
de |
|
"030621" |
108032 |
15285 |
8617 |
5542 |
de |
|
"030622" |
85385 |
12618 |
7061 |
4236 |
de |
|
"030624" |
106686 |
14365 |
7912 |
5554 |
de |
|
"030625" |
79273 |
12328 |
6932 |
4224 |
de |
|
"030626" |
75699 |
11918 |
6773 |
3965 |
de |
|
"030627" |
102711 |
15086 |
8589 |
4869 |
de |
|
"030628" |
110907 |
14859 |
8176 |
5382 |
de |
|
"030629" |
72509 |
11456 |
6435 |
3801 |
de |
|
"030701" |
108993 |
14438 |
7868 |
5790 |
de |
|
"030702" |
86314 |
12977 |
7283 |
4493 |
de |
|
"030703" |
76492 |
11884 |
6758 |
3812 |
de |
|
"030704" |
116897 |
16261 |
9159 |
5936 |
de |
|
"030705" |
109022 |
15175 |
8508 |
5668 |
de |
|
"030706" |
78467 |
11735 |
6567 |
4031 |
de |
|
"030708" |
101853 |
13748 |
7539 |
5003 |
de |
|
"030709" |
83935 |
12668 |
7049 |
4068 |
de |
|
"030710" |
78022 |
12204 |
6696 |
3795 |
de |
|
"030711" |
108573 |
15424 |
8605 |
5696 |
de |
|
"030712" |
104031 |
14816 |
8332 |
5269 |
de |
|
"030713" |
56727 |
10011 |
5759 |
2785 |
de |
|
"030715" |
57836 |
10087 |
5819 |
2886 |
de |
|
"030716" |
60139 |
10086 |
5728 |
2959 |
de |
|
"030717" |
55583 |
10211 |
6050 |
2720 |
de |
|
"030718" |
87642 |
13973 |
8094 |
4492 |
de |
|
"030719" |
72843 |
12209 |
7041 |
3436 |
de |
|
"030720" |
105483 |
15536 |
8693 |
5190 |
de |
|
"030723" |
49936 |
9409 |
5584 |
2515 |
de |
|
"030724" |
44405 |
8604 |
5091 |
2384 |
de |
|
"030725" |
90489 |
15164 |
8836 |
4566 |
de |
|
"030726" |
80010 |
12458 |
7197 |
4129 |
de |
|
"030727" |
54995 |
10293 |
6063 |
2581 |
de |
|
"030729" |
50450 |
9511 |
5610 |
2482 |
de |
|
"030730" |
55655 |
10362 |
6185 |
2952 |
de |
|
"030731" |
51209 |
10063 |
6046 |
2587 |
de |
|
"030801" |
53006 |
9770 |
5715 |
2721 |
de |
|
"030802" |
71026 |
12127 |
7053 |
3619 |
de |
|
"030803" |
48812 |
9864 |
5985 |
2378 |
de |
|
"030805" |
49721 |
9234 |
5385 |
2542 |
de |
|
"030806" |
52703 |
9712 |
5654 |
2710 |
de |
|
"030807" |
48581 |
9695 |
5690 |
2566 |
de |
|
"030808" |
50972 |
9849 |
5864 |
2597 |
de |
|
"030809" |
77070 |
13008 |
7653 |
3820 |
de |
|
"030810" |
46052 |
9588 |
5839 |
2309 |
de |
|
"030812" |
51118 |
9690 |
5750 |
2479 |
de |
|
"030813" |
44908 |
9105 |
5504 |
2261 |
de |
|
"030814" |
42737 |
8800 |
5314 |
2156 |
de |
|
"030815" |
47763 |
9039 |
5264 |
2524 |
de |
|
"030816" |
70527 |
12222 |
7318 |
3537 |
de |
|
"030817" |
49631 |
9431 |
5553 |
2401 |
de |
|
"030819" |
50177 |
9744 |
5871 |
2565 |
de |
|
"030820" |
45334 |
8767 |
5123 |
2480 |
de |
|
"030821" |
58495 |
9889 |
5680 |
2903 |
de |
|
"030822" |
85101 |
13249 |
7849 |
4045 |
de |
|
"030823" |
79258 |
12953 |
7671 |
3658 |
de |
|
"030824" |
53209 |
10138 |
6020 |
2536 |
de |
|
"030826" |
57359 |
10038 |
5701 |
2836 |
de |
|
"030827" |
57430 |
9831 |
5645 |
2907 |
de |
|
"030828" |
58130 |
9724 |
5372 |
2858 |
de |
|
"030829" |
89198 |
14100 |
8237 |
4283 |
de |
|
"030830" |
85353 |
12512 |
7146 |
4195 |
de |
|
"030831" |
52441 |
9857 |
5896 |
2601 |
de |
|
"030902" |
97194 |
12709 |
6842 |
4970 |
de |
|
"030903" |
74363 |
11459 |
6352 |
4064 |
de |
|
"030904" |
70755 |
11339 |
6439 |
3742 |
de |
|
"030905" |
106138 |
14515 |
8013 |
5599 |
de |
|
"030906" |
102418 |
13743 |
7568 |
5250 |
de |
|
"030907" |
74382 |
11059 |
6127 |
3826 |
de |
|
"030909" |
101656 |
12918 |
6911 |
5102 |
de |
|
"030910" |
77427 |
11875 |
6671 |
4056 |
de |
|
"030911" |
74630 |
12031 |
6873 |
4054 |
de |
|
"030912" |
162277 |
19607 |
10648 |
8018 |
de |
|
"030913" |
107828 |
14859 |
8273 |
5165 |
de |
|
"030914" |
90484 |
12868 |
7007 |
4723 |
de |
|
"030916" |
101760 |
13187 |
7133 |
5110 |
de |
|
"030917" |
74875 |
11525 |
6502 |
3980 |
de |
|
"030918" |
77892 |
11894 |
6672 |
4071 |
de |
|
"030919" |
100693 |
14702 |
8326 |
5137 |
de |
|
"030920" |
100292 |
14049 |
7819 |
5273 |
de |
|
"030921" |
102639 |
14586 |
8211 |
4948 |
de |
|
"030923" |
104638 |
13823 |
7602 |
5442 |
de |
|
"030924" |
82413 |
12257 |
6833 |
4315 |
de |
|
"030925" |
78846 |
11721 |
6570 |
4155 |
de |
|
"030926" |
106739 |
15093 |
8408 |
5231 |
de |
|
"030927" |
120516 |
16544 |
9258 |
5598 |
de |
|
"030928" |
73380 |
11356 |
6387 |
3906 |
de |
|
"030930" |
110095 |
15568 |
8739 |
5635 |
de |
|
"031001" |
85954 |
13032 |
7277 |
4473 |
de |
|
"031002" |
72540 |
11816 |
6779 |
3792 |
de |
|
"031003" |
104784 |
14584 |
7990 |
5457 |
de |
|
"031004" |
118509 |
16419 |
9112 |
5750 |
de |
|
"031005" |
74972 |
11851 |
6638 |
3757 |
de |
|
"031007" |
99443 |
13407 |
7323 |
5120 |
de |
|
"031008" |
81500 |
12698 |
7219 |
4295 |
de |
|
"031009" |
111183 |
14759 |
8382 |
4937 |
de |
|
"031010" |
118191 |
16132 |
9074 |
6155 |
de |
|
"031011" |
112323 |
15098 |
8362 |
5362 |
de |
|
"031012" |
83159 |
12568 |
6998 |
4189 |
de |
|
"031014" |
108584 |
13802 |
7402 |
5527 |
de |
|
"031015" |
89974 |
12988 |
7173 |
4692 |
de |
|
"031016" |
87704 |
13224 |
7487 |
4566 |
de |
|
"031017" |
111048 |
15410 |
8673 |
5566 |
de |
|
"031019" |
79706 |
12460 |
7018 |
3804 |
de |
|
"031021" |
108752 |
14489 |
7915 |
5540 |
de |
|
"031022" |
88478 |
12909 |
7237 |
4799 |
de |
|
"031023" |
87386 |
12622 |
7144 |
4271 |
de |
|
"031024" |
113844 |
15792 |
8779 |
5798 |
de |
|
"031025" |
110937 |
14962 |
8201 |
5285 |
de |
|
"031026" |
78315 |
12242 |
6875 |
3933 |
de |
|
"031028" |
102141 |
13684 |
7543 |
5294 |
de |
|
"031029" |
79568 |
12585 |
7093 |
3949 |
de |
|
"031030" |
81861 |
12422 |
7028 |
4190 |
de |
|
"031031" |
104513 |
14953 |
8389 |
5357 |
de |
|
"031101" |
105643 |
14944 |
8345 |
5025 |
de |
|
"031102" |
52445 |
10058 |
5924 |
2804 |
de |
|
"031104" |
104633 |
13677 |
7388 |
5374 |
de |
|
"031105" |
68685 |
11586 |
6697 |
3629 |
de |
|
"031106" |
81071 |
12225 |
6834 |
4172 |
de |
|
"031107" |
111285 |
15798 |
8900 |
5393 |
de |
|
"031108" |
105463 |
14506 |
8075 |
5059 |
de |
|
"031109" |
85302 |
12804 |
7195 |
4203 |
de |
|
"031111" |
102156 |
13684 |
7421 |
5365 |
de |
|
"031112" |
75596 |
11807 |
6603 |
3919 |
de |
|
"031113" |
76967 |
12120 |
6963 |
4029 |
de |
|
"031114" |
98389 |
14687 |
8299 |
5095 |
de |
|
"031115" |
94928 |
13958 |
7907 |
4656 |
de |
|
"031116" |
79363 |
12293 |
6986 |
4015 |
de |
|
"031118" |
116019 |
14637 |
7980 |
5824 |
de |
|
"031119" |
93895 |
14319 |
8269 |
5182 |
de |
|
"031120" |
91477 |
13681 |
7683 |
4637 |
de |
|
"031121" |
113437 |
15612 |
8734 |
5781 |
de |
|
"031122" |
101338 |
14520 |
8189 |
5324 |
de |
|
"031123" |
74021 |
11946 |
6728 |
3822 |
de |
|
"031125" |
103589 |
13269 |
7153 |
5482 |
de |
|
"031126" |
92825 |
13686 |
7601 |
4729 |
de |
|
"031127" |
96573 |
13996 |
7866 |
4567 |
de |
|
"031128" |
119165 |
15942 |
8916 |
5919 |
de |
|
"031129" |
103244 |
14560 |
8111 |
5128 |
de |
|
"031130" |
77452 |
11781 |
6574 |
3975 |
de |
|
"031202" |
107238 |
14011 |
7612 |
5185 |
de |
|
"031203" |
85134 |
12561 |
6955 |
4459 |
de |
|
"031204" |
87123 |
13786 |
7815 |
4534 |
de |
|
"031205" |
202201 |
21222 |
11358 |
9725 |
de |
|
"031206" |
103145 |
14363 |
8039 |
5102 |
de |
|
"031207" |
80957 |
12462 |
6924 |
3924 |
de |
|
"031209" |
99729 |
13748 |
7600 |
4922 |
de |
|
"031210" |
98224 |
13067 |
7006 |
4908 |
de |
|
"031211" |
75428 |
11958 |
6777 |
3890 |
de |
|
"031212" |
127029 |
16830 |
9224 |
6392 |
de |
|
"031213" |
97819 |
13355 |
7501 |
4823 |
de |
|
"031214" |
78778 |
11931 |
6685 |
4015 |
de |
|
"031216" |
115673 |
14392 |
7782 |
5822 |
de |
|
"031217" |
83939 |
12319 |
6824 |
4590 |
de |
|
"031218" |
78089 |
12139 |
6878 |
4423 |
de |
|
"031219" |
114529 |
15814 |
8842 |
5951 |
de |
|
"031220" |
93323 |
14222 |
8117 |
4728 |
de |
|
"031221" |
57030 |
10482 |
6163 |
2858 |
de |
|
"031223" |
53027 |
9641 |
5607 |
2659 |
de |
|
"031224" |
58348 |
10807 |
6338 |
2801 |
de |
|
"031225" |
56074 |
9748 |
5627 |
2948 |
de |
|
"031226" |
48958 |
8914 |
5167 |
2723 |
de |
|
"031227" |
69290 |
12095 |
7216 |
3531 |
de |
|
"031228" |
67983 |
11292 |
6555 |
3634 |
de |
|
"031230" |
52642 |
9643 |
5658 |
2753 |
de |
|
"031231" |
56048 |
10202 |
5949 |
2902 |
de |
|
"040101" |
54360 |
9808 |
5697 |
2819 |
de |
|
"040102" |
43396 |
8433 |
4950 |
2319 |
de |
|
"040103" |
74000 |
12422 |
7277 |
3571 |
de |
|
"040104" |
66877 |
10903 |
6181 |
3385 |
de |
|
"040106" |
101469 |
13654 |
7340 |
5380 |
de |
|
"040107" |
72926 |
11763 |
6670 |
3692 |
de |
|
"040108" |
71578 |
11586 |
6539 |
3795 |
de |
|
"040109" |
116952 |
16089 |
8768 |
6279 |
de |
|
"040110" |
103666 |
14322 |
7809 |
5028 |
de |
|
"040111" |
64191 |
10673 |
6092 |
3295 |
de |
|
"040113" |
94508 |
12995 |
7154 |
4644 |
de |
|
"040114" |
81149 |
12032 |
6757 |
4074 |
de |
|
"040115" |
75868 |
11762 |
6740 |
3984 |
de |
|
"040116" |
108921 |
15369 |
8623 |
5782 |
de |
|
"040117" |
95563 |
13872 |
7875 |
5036 |
de |
|
"040118" |
73335 |
11544 |
6397 |
3728 |
de |
|
"040120" |
112678 |
14965 |
8110 |
5839 |
de |
|
"040121" |
74214 |
11672 |
6513 |
3711 |
de |
|
"040122" |
80671 |
12290 |
6922 |
4166 |
de |
|
"040123" |
110148 |
15353 |
8556 |
5823 |
de |
|
"040124" |
110780 |
15333 |
8602 |
5284 |
de |
|
"040125" |
76958 |
11980 |
6659 |
3998 |
de |
On n'a conservé ici qu'un extrait du tableau construit
|
Forme |
Frq. Tot. |
Fréquence |
Coeff. |
|
banque |
2464 |
106 |
*** |
|
donation |
132 |
35 |
*** |
|
Johnny |
604 |
68 |
*** |
|
Intenses |
22 |
22 |
*** |
|
janvier |
6981 |
150 |
*** |
|
Boudou |
29 |
25 |
*** |
|
lentilles |
44 |
26 |
*** |
|
Hallyday |
282 |
50 |
*** |
|
packages |
32 |
24 |
*** |
|
Song |
107 |
30 |
48 |
|
fiscalement |
46 |
24 |
47 |
|
patriotiques |
52 |
25 |
47 |
|
2003 |
10899 |
158 |
45 |
|
Twombly |
21 |
18 |
42 |
|
inexistante |
65 |
24 |
42 |
|
tarifs |
747 |
47 |
41 |
|
profils |
128 |
28 |
41 |
|
Carmignac |
76 |
24 |
40 |
|
Changer |
59 |
22 |
39 |
|
Emergents |
72 |
23 |
38 |
|
QUESTIONSà |
67 |
22 |
37 |
|
exotisme |
87 |
23 |
36 |
|
étudiés |
92 |
23 |
36 |
|
désyndicalisation |
23 |
16 |
35 |
|
inévitables |
99 |
23 |
35 |
|
Eisner |
54 |
20 |
35 |
|
courtiers |
146 |
25 |
34 |
|
Joaquín |
15 |
14 |
34 |
|
Montalvo |
19 |
15 |
34 |
|
Cabrio |
13 |
13 |
33 |
|
Soigneusement |
20 |
15 |
33 |
|
Universal |
1093 |
45 |
32 |
|
banques |
2342 |
62 |
32 |
|
Vaconsin |
15 |
13 |
31 |
|
aviaire |
63 |
19 |
31 |
|
Immobilier |
121 |
22 |
31 |
|
PT |
183 |
25 |
31 |
|
fusions |
189 |
25 |
31 |
|
clients |
1442 |
48 |
30 |
|
Kay |
107 |
21 |
30 |
|
services |
5463 |
87 |
29 |
|
remanie |
32 |
15 |
29 |
|
coûteux |
196 |
24 |
29 |
|
Disney |
408 |
30 |
29 |
|
Eva |
200 |
24 |
29 |
|
matérielle |
96 |
19 |
28 |
|
Frontières |
92 |
19 |
28 |
|
Xiaonian |
11 |
11 |
28 |
|
Culmell |
11 |
11 |
28 |
|
Combien |
225 |
24 |
28 |
|
épidémie |
1048 |
40 |
27 |
|
calculées |
49 |
16 |
27 |
|
Forza |
99 |
19 |
27 |
|
spéculations |
212 |
23 |
27 |
|
Nin |
21 |
13 |
27 |
|
Maître |
171 |
22 |
27 |
|
RS |
16 |
12 |
27 |
|
Huchon |
154 |
21 |
27 |
|
Jaime |
45 |
15 |
26 |
|
Dicos |
17 |
12 |
26 |
|
Sganzerla |
10 |
10 |
25 |
|
grippe |
217 |
22 |
25 |
|
montent |
260 |
23 |
25 |
|
Singe |
27 |
13 |
25 |
|
intempéries |
67 |
16 |
25 |
Les formes examinées ici sont : voile, laïcité, croix, kippa
Fréquences relatives :

Fréquences absolues :

Fréquences absolues :

Spécificités :

Le moteur de requête en cours de développement reprend une application développée par John Udell[7] permettant de sélectionner et de récupérer les rubriques de son weblog classées thématiquement via l'utilisation d'une interface web utilisant des requêtes XPath[8].



Mise en place d’outils :
2001, Valérie Beaudouin, Serge Fleury, Benoît Habert, Gabriel Illouz, Christian Licoppe, Marie Pasquier, "TyPWeb : décrire la Toile pour mieux comprendre les parcours", CIUST'01, Colloque International sur les Usages et les Services des Télécommunications, e-Usages, Paris, 12-14 juin (Version PDF)
2001, Cédric Lamalle, William Martinez, Serge Fleury, André Salem, Andrea Kuncova, Aude Maisondieu, "Dix premiers pas avec Lexico3", Manuel d'utilisation abrégé (Version PDF), (Version HTML) (sur le site de Lexico)
2002, Valérie Beaudouin, Serge Fleury, Marie Pasquier, Benoît Habert, Christian Licoppe, "TyPWeb : décrire la Toile pour mieux comprendre les parcours. Sites Personnels et sites marchands", in RESEAUX, Volume 20, n°116/2002, "Parcours Sur Internet", pages 19-52, FT&RD/Hermès
Les expressions régulières (ou "expressions rationnelles", en anglais "regular expression" ou "regexes", "regexp", etc.) permettent de manipuler (recherche et remplacement) du texte en utilisant des caractères spéciaux, qui valent pour une classe de cas et non littéralement. Le langage de script Perl en offre le meilleur support, mais des éditeurs de textes courants permettent également de les utiliser.
Les regexes ne sont cependant pas un langage : elles ne peuvent pas faire de boucle, ou agir de façon conditionnelle. Le motif est générique mais statique. Elles sont surtout utiles dans des cas prévisibles et normalisés : paragraphe, ponctuation, encodage...
Il existe de nombreuses excellentes introductions aux expressions régulières et des documentations dans les logiciels qui les implémentent, dont une sélection est proposée ci-dessous ; on se limite ici à des introductions puis à des exemples avec trois environnements : Emacs (Windows / Linux), Textpad (Windows), et Perl. La syntaxe des expressions régulières peut varier très légèrement d'un éditeur ou d'un programme à l'autre, mais les fonctions restent les mêmes. Word n'est pas un éditeur de texte mais implémente un sous-ensemble des expressions régulières.
Perl
Pour commencer : « Perl regular expressions quick start » :
http://Perldoc.com/Perl5.8.0/pod/Perlrequick.html
Le plus complet pour utiliser les regexes avec Perl :
“Perl regular expressions tutorial” :
http://Perldoc.com/Perl5.8.0/pod/Perlretut.html
Pour les références complètes, la page de manuel :
http://www.Perldoc.com/Perl5.8.0/pod/Perlre.html
“Perl Regular Expressions FAQ” :
http://Perldoc.com/Perl5.8.0/pod/Perlfaq6.html
Les chapitres "Expressions rationnelles" et "recherches de correspondances" de Programmation en Perl, Larry Wall et al., O'Reilly.
Emacs
La page d'aide d'Emacs « Syntax of Regular Expressions » est une très claire introduction
Traduite en français :
http://www.linux-france.org/article/appli/Emacs/manuel/html/regexps.html
Textpad
L'aide du logiciel est satisfaisante si l'on a déjà une connaissance du principe des regexes.
Tutoriaux généraux
regexes orientées textes électroniques :
http://etext.lib.virginia.edu/helpsheets/regex.html
Regexes sur une page :
http://www.ciser.cornell.edu/info/regex.html
Une expression régulière est un motif qui peut correspondre
à une classe de chaîne de caractères et pas seulement à une chaîne de
caractères littéralement. C'est elles que l'on utilise par exemple pour
exprimer "tout fichier finissant par doc" avec *.doc.
Pour exprimer ces éléments génériques certains caractères
sont réservés. (le * ci-dessus exprime ici "toute chaîne de
n'importe quelle longueur", non un astérisque)
Les éléments réservés doivent être précédés d'un signe spécial
pour être employés dans leur sens littéral. Par exemple, Pour rechercher un
astérisque, il faut l'exprimer \*.
"\" est donc lui-même un caractère réservé,
servant à exprimer le statut littéral ou pas de ce qui suit. Pour le chercher
littéralement, il faut donc utiliser \\.
Les expressions régulières contiennent notamment des éléments pour exprimer, (1) des caractères littéralement, (2) des classes de caractères, (3) des quantificateurs qui peuvent qualifier les deux premiers groupes, et (4) des assertions positives ou négatives. Exemple pour chacune des catégories :
Tous les caractères sauf les caractères réservés
représentent eux-mêmes, notamment les caractères alphanumériques. Les
caractères sont a priori sensibles à la casse. L'expression Abc
recherche littéralement la chaîne "Abc".
Des caractères entre crochets droits expriment une liste de
choix : [aeiouy]
= "un caractère parmi les 6 caractères a e i o u ou y". a vaut
bien toujours littéralement pour "a", mais dans une classe constituée
également d'autres éléments en relation d'alternative. [aeiouy]b
trouvera donc "ab", "ib", mais pas "cb". Pour
éviter des listes de caractères trop longues, on peut utiliser un tiret : [a-z] =
tout caractères entre "a" et "z" (tout alphabétique
minuscule), [0-9]
tout numérique, [A-Za-z0-9] tout alphanumérique. Ces listes sont
cumulables : [0-35-9]
recherche tout numérique sauf "4".
Les quantificateurs s'appliquent à une classe ou une chaîne
littérale. Par exemple [aeiouy]+ signifie "une ou plusieurs voyelles
de suite", [aeiouy]* zéro ou plusieurs, [aeiouy]?
zéro ou une ; [aeiouy]{5} signifie "exactement 5 voyelles de
suite". Ainsi [aeiouy]+c peut correspondre à "aiec",
"ac", mais pas à "adc".
Des assertions peuvent modifier des classes ou ancrer des
chaînes. Par exemple le circonflexe permet de nier le contenu entre crochets
droits : [^aeiouy]+
signifie "un ou plusieurs caractères de suite qui n'est pas a e i o u ou
y". [ae]$
signifie un a ou un e (minuscule) en fin de paragraphe (juste avant un retour
chariot).
1. Recherche littérale — Les expressions régulières
permettent de rechercher des caractères littéralement : les caractères sont
désignés par le symbole correspondant, a recherche le caractère
"a", etc. Des caractères "non visibles" comme le retour
chariot, la tabulation, etc. peuvent être désignés littéralement par un
caractère spécial : \n pour le retour chariot et \t pour
la tabulation. L'anti-slash forme un seul symbole avec le caractère qui suit,
qui ne vaut plus littéralement pour un "n" ou un "t".
L'anti-slash lui-même n'est pas l'équivalent littéral du caractère
"\". Pour désigner un anti-slash littéralement, il faut le faire
précéder lui même d'un anti-slash : \\ recherche "\". Les
"méta-caractères" de cette sorte sont généralement \, ., *, ?, +, ^, $, {, |, (, ), et }, dont
on voit ci-dessous le sens spécial ; pour les utiliser littéralement il faut
donc utiliser \\, \., \*, \?, \+, \^, \$, \{, \|, \(, et \).
L'anti-slash permet d'interpréter un méta-caractère comme un caractère
littéral, mais également de donner un sens spécial à des caractères littéraux,
comme \n
ou \t.
2. Classes d'éléments — Les expressions régulières
permettent également de ne pas faire correspondre les élément un à un, mais de
faire correspondre une liste de possibilités à un élément.
a/
Une classe de caractères en alternative est désignée entre crochets : [aeiouy]
recherche une occurrence d'une voyelle : elle trouvera deux éléments dans
"soir". — Pour ne pas écrire de longue suite de caractères, on peut spécifier
des plages avec le tiret : [0-9] recherche tout caractère numérique, [a-z]
toute lettre en minuscule, [A-Za-z0-9] recherche tout caractère
alphanumérique. Il faut noter que les plages de caractères sont basées sur
l'ASCII, il faut donc ajouter les caractères qui n'en font pas partie, comme
les caractères accentués : [a-zéèàùâêîôûäëïöüçA-ZÉÈÀÙÂÊÎÔÛÄËÏÖÜÇ0-9]
pour être (presque) exhaustif. Mais, par chance, on peut alors utiliser le
point .
qui vaut pour tout élément sauf le retour chariot (\n). [aeiouy].
trouvera "az", "aa", "a!" mais pas "a"
ni "ba".
Pour mettre un tiret littéralement parmi les éléments en alternative, il faut
le mettre en premier dans la liste : [-,;] recherche un tiret, une
virgule ou un point virgule (pour "]" utiliser l'antislash : [-\]]). —
Les méta-caractères perdent leur sens particulier dans une expression entre
crochets.
b/
Des symboles spéciaux permettent de désigner les classes les plus souvent
utilisées, par exemple en Perl \w = word, tout caractère de mot
(alphanumériques plus '_'), \d = digit ([0-9]), \s tout
caractère blanc (= [ \t\n\r\f], soit espace, tabulation, saut de ligne,
retour chariot, saut de page) ; lesquels peuvent être inversés \W = tout
caractère non-mot, \D = tout non numérique, \S tout
caractère autre que blanc, etc. (cf la page de manuel Perl : http://www.Perldoc.com/Perl5.8.0/pod/Perlre.html#Regular-Expressions)
— Autres familles de classes, du type : [:alnum:] par exemple pour tout alphanumérique
([A-Za-z0-9])
c/
L'alternative entre des éléments de plusieurs caractères est exprimée par |, et
s'applique aux éléments entre parenthèses : (oui|non) permet de rechercher
"oui" ou "non". Avec les crochets, le contenu est évalué
comme une liste de caractères, ainsi l'alternative | est
inutile : [truc|tric]
= [truci]
— le caractère ^ en début de plage permet d'indiquer une assertion
négative : [^a-z]
recherche tout ce qui n'est pas un alphabétique minuscule.
3. Quantifieurs — Possibilité de préciser le nombre
d'occurrences d'un élément (un caractère littéral, ou une classe d'éléments en
alternative, ou une chaîne de caractères entre parenthèses). Les principaux
quantificateurs sont ? (0 ou 1 fois), + (1 ou plusieurs fois), * (0 ou
plusieurs fois). On peut également spécifier une plage d'occurrence : [aeiouy]{3,5}
désigne toute suite de entre 3 et 5 voyelles. Si le second caractère n'est pas
spécifié, il vaut pour l'infini : [0-9]{5,} recherche au moins 5
numériques de suite. On voit que ? = {0,1}, + = {1,} et * = {0,}. Une
valeur seule entre accolades exige une valeur exacte : a{5}
recherche exactement 5 "a" de suite.
Les quantificateurs s'appliquent à la dernière unité syntaxique les précédents.
non{5}
trouvera "nonnnnn" mais non pas "nonnonnonnonnon" pour cela
il faut écrire (non){5}
Note : Les expressions rationnelles sont par défaut avides : dans
"abbb", ab+ trouvera "abbb" et non "ab".
Si on veut éviter ce comportement, on peut utiliser la négation : <[^>]+>
par exemple pour ne pas prendre le début d'une balise et la fin de la dernière
balise sur la même ligne. Avec Perl, on peut également préciser au
quantificateur de chercher la séquence minimale en ajoutant "?" : +?, *? et {1,5}?
cherche donc la première correspondance.
D'autre part une expression rationnelle cherche l'expression dès que possible,
et s'arrête dès que les conditions sont satisfaites même si une correspondance
plus loin serait plus complète. Aussi y* trouve un motif vrai dès le
premier caractère de "xyz", puisqu'il peut correspondre à une chaîne
nulle.
4. Référence — Les parenthèses permettent de
hiérarchiser les membres d'une alternative (cf. 2), et de regrouper une chaîne
de caractères en un élément (cf. 3), mais servent également à mettre en mémoire
le résultat. Ce qui permet par la suite de faire référence au contenu d'une
expression entre parenthèses à l'aide de \1 (pour désigner le contenu
d'une première parenthèse dans l'expression de recherche), \2 (pour
désigner le contenu d'une seconde), etc. Ainsi ([^ ]+) \1 recherche
un mot répété : un blanc, toute suite d'au moins un caractère qui n'est pas un
blanc, un blanc, et la même suite de caractères. Les références de cette sorte
sont également utiles pour remplacer : faire référence dans l'expression de
remplacement au contenu trouvé dans l'expression de recherche : remplacer ([0-9]+)([a-zA-Z]+)
par \1 \2
permet par exemple d'ajouter un espace entre une suite de numériques et une
suite d'alphabétiques. Remplacer ([a-z])([;:\?!]) par \1 \2 ;
permet d'ajouter un espace entre la fin d'un mot et les signes de ponctuation
qui demandent cet espace. (anti-slash avant le ? pour lui faire
rechercher le caractère "?", puisque c'est un caractère réservé).
5. Assertion — De nombreuses expressions permettent d'inclure
des assertions, qui ne correspondent pas à un élément à rechercher mais
indiquent par exemple que l'expression commence en début de ligne (^) ou en
fin de ligne ($), etc. Ces assertions sont la partie la plus
variable des expressions régulières entre les différents logiciels, il faut se
reporter à la documentation correspondante.
[2] La version HTML traitée ici est celle dite "simplifiée (sans image de la une et sans menu déroulant)"
[3] Ces outils sont disponibles sur la page du projet http://sfmac.no-ip.com
[4] Voir en annexe pour une présentation rapide des expressions régulières
[9] Ce texte est extrait d’une page écrite sur le web par sloiseau@u-paris10.fr (27 Octobre 2003)