Passa al contenuto principale

1. Introduction (Introduzione)

1. Introduction (Introduzione)

Questa specifica descrive un formato di espressione regolare (Regular Expression, abbreviato come "regexp") interoperabile, I-Regexp.

I-Regexp non fornisce funzionalità avanzate di espressioni regolari come gruppi di cattura (Capture Groups), anticipazione (Lookahead) o riferimenti all'indietro (Backreferences). Supporta solo una capacità di corrispondenza booleana (Boolean Matching), ovvero testare se una determinata espressione regolare corrisponde a un determinato frammento di testo.

I-Regexp supporta l'intero repertorio di caratteri Unicode (Unicode Scalar Values). Sia le stringhe I-Regexp stesse che le stringhe con cui vengono confrontate sono sequenze di valori scalari Unicode (spesso rappresentate in forma di codifica UTF-8 [STD63] per lo scambio).

I-Regexp è un sottoinsieme delle espressioni regolari XML Schema Definition (XSD) [XSD-2].

Questo documento include indicazioni per convertire gli I-Regexp per l'uso con diversi idiomi di espressioni regolari noti.

Lo sviluppo di I-Regexp è stato motivato dal lavoro del JSONPath Working Group (WG). Il WG voleva includere il supporto per l'uso di espressioni regolari nei filtri JSONPath nella sua specifica [JSONPATH-BASE], ma non è stato in grado di trovare una specifica utile per le espressioni regolari che fosse interoperabile tra le librerie popolari.

1.1 Terminology (Terminologia)

Questo documento utilizza l'abbreviazione "regexp" per ciò che è solitamente chiamato "espressione regolare" (Regular Expression) nella programmazione. Il termine "I-Regexp" è usato come sostantivo che indica una stringa di caratteri (sequenza di valori scalari Unicode) conforme ai requisiti di questa specifica. Il plurale è "I-Regexps".

Questa specifica utilizza la terminologia Unicode. [UNICODE-GLOSSARY] fornisce un buon punto di ingresso.

Le parole chiave "MUST" (deve), "MUST NOT" (non deve), "REQUIRED" (richiesto), "SHALL" (dovrà), "SHALL NOT" (non dovrà), "SHOULD" (dovrebbe), "SHOULD NOT" (non dovrebbe), "RECOMMENDED" (raccomandato), "NOT RECOMMENDED" (non raccomandato), "MAY" (può) e "OPTIONAL" (opzionale) in questo documento devono essere interpretate come descritto in BCP 14 [RFC2119] [RFC8174] quando, e solo quando, appaiono in maiuscolo, come mostrato qui.

Le regole grammaticali in questo documento devono essere interpretate come ABNF (Forma di Backus-Naur Aumentata), come descritto in [RFC5234] e [RFC7405], dove i "caratteri" (Characters) della Sezione 2.3 di [RFC5234] sono valori scalari Unicode.