Du nouveau dans les expressions rationnelles : I-Regexp

Liste des GroupesRevenir à fcl regexp 
Sujet : Du nouveau dans les expressions rationnelles : I-Regexp
De : om+news (at) *nospam* miakinen.net (Olivier Miakinen)
Groupes : fr.comp.lang.regexp
Date : 14. Oct 2023, 11:37:28
Autres entêtes
Organisation : There's no cabale
Message-ID : <ugdngp$hnj$1@cabale.usenet-fr.net>
User-Agent : Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Firefox/52.0 SeaMonkey/2.49.4
Bonjour,

Le RFC 9485 vient tout juste d'être publié, qui a vocation à devenir
un standard internet (pour le moment à l'étape PROPOSED STANDARD).

Lien : <https://www.rfc-editor.org/info/rfc9485>

Celui-ci définit I-Regexp, un format d'expressions rationnelles avec
quelques limitations dans le but d'être le plus possible interopérable
dans différentes bibliothèques de regexp.

Parmi les limitations :

- Il n'y a pas de possibilité de capturer une sous-chaîne, que ce soit
 pour la retrouver ailleurs dans la chaîne ou pour la retourner à
 l'appelant. Par exemple on peut tester par "(http|https)://(.*)" si
 une chaîne ressemble à une URL, mais on ne pourra pas savoir si c'était
 http ou https, ni extraire le nom de domaine et le chemin.

- Il n'y a pas de séquence \lettre comptant pour une classe de caractères.
 Par exemple, au lieu de \d il faut écrire [0-9] et au lieu de \S ce
 sera [^ \n\t\r]. Cela présente un réel intérêt pour l'interopérabilité,
 parce que par exemple dans certains langages de regexp le \d regroupe
 n'importe quel caractère Unicode qui soit un chiffre dans n'importe
 quel système d'écriture.

- Il n'y a pas d'assertions, ni positives ni négatives, ni en avant ni
 en arrière. C'est évidemment normal puisque ceci n'existe que dans des
 systèmes de regexp avancés tels que Perl et PCRE, mais il s'agissait
 de mon mécanisme préféré, celui sur lequel j'ai le plus écrit dans ce
 groupe.

En contrepartie, pour prétendre être compatible I-Regexp, il faut :

- prendre en charge tout Unicode, aussi bien dans les expressions
 elles-mêmes que dans le texte traité ;

- prendre en charge les propriétés Unicode, par exemple \p{N} pour
 un chiffre dans n'importe quel système d'écriture, \p{Lu} pour
 une lettre majuscule ou \P{Ll} pour tout ce qui n'est pas une
 lettre minuscule.

En outre, il est vivement recommandé aux implémenteurs d'I-Regexp de
passer une série de tests pour vérifier que leur implémentation est
strictement conforme, et de documenter si ces tests de conformité ont
été (ou n'ont pas été) effectués.

--
Olivier Miakinen

Date Sujet#  Auteur
14 Oct 23 * Du nouveau dans les expressions rationnelles : I-Regexp2Olivier Miakinen
15 Oct 23 `- Re: Du nouveau dans les expressions rationnelles : I-Regexp1Dominique

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal