Aller au contenu principal

1. Introduction

1. Introduction

Cette spécification décrit un format d'expression régulière (abrégé en "regexp") interopérable, I-Regexp.

I-Regexp ne fournit pas de fonctionnalités avancées d'expressions régulières telles que les groupes de capture (Capture Groups), l'anticipation (Lookahead) ou les références arrière (Backreferences). Il prend uniquement en charge une capacité de correspondance booléenne (Boolean Matching), c'est-à-dire tester si une expression régulière donnée correspond à un morceau de texte donné.

I-Regexp prend en charge l'ensemble du répertoire de caractères Unicode (Unicode Scalar Values). Les chaînes I-Regexp elles-mêmes et les chaînes auxquelles elles sont comparées sont des séquences de valeurs scalaires Unicode (souvent représentées sous forme d'encodage UTF-8 [STD63] pour l'échange).

I-Regexp est un sous-ensemble des expressions régulières XML Schema Definition (XSD) [XSD-2].

Ce document comprend des conseils pour convertir les I-Regexp pour une utilisation avec plusieurs idiomes d'expressions régulières bien connus.

Le développement d'I-Regexp a été motivé par le travail du groupe de travail JSONPath (Working Group, WG). Le WG souhaitait inclure la prise en charge de l'utilisation d'expressions régulières dans les filtres JSONPath dans sa spécification [JSONPATH-BASE], mais n'a pas pu trouver de spécification utile pour les expressions régulières qui serait interopérable entre les bibliothèques populaires.

1.1 Terminology (Terminologie)

Ce document utilise l'abréviation "regexp" pour ce qui est généralement appelé "expression régulière" (Regular Expression) en programmation. Le terme "I-Regexp" est utilisé comme nom signifiant une chaîne de caractères (séquence de valeurs scalaires Unicode) conforme aux exigences de cette spécification. Le pluriel est "I-Regexps".

Cette spécification utilise la terminologie Unicode. [UNICODE-GLOSSARY] fournit un bon point d'entrée.

Les mots-clés "MUST" (doit), "MUST NOT" (ne doit pas), "REQUIRED" (requis), "SHALL" (devra), "SHALL NOT" (ne devra pas), "SHOULD" (devrait), "SHOULD NOT" (ne devrait pas), "RECOMMENDED" (recommandé), "NOT RECOMMENDED" (non recommandé), "MAY" (peut) et "OPTIONAL" (facultatif) dans ce document doivent être interprétés comme décrit dans BCP 14 [RFC2119] [RFC8174] lorsque, et seulement lorsque, ils apparaissent en majuscules, comme indiqué ici.

Les règles grammaticales de ce document doivent être interprétées comme ABNF (Forme de Backus-Naur Augmentée), comme décrit dans [RFC5234] et [RFC7405], où les "caractères" (Characters) de la section 2.3 de [RFC5234] sont des valeurs scalaires Unicode.