From 422c8896c8bff6cbfdcbc6b00cd3432a49e8d897 Mon Sep 17 00:00:00 2001 From: piccihud Date: Sun, 22 Dec 2024 20:11:03 +0100 Subject: [PATCH] regex --- 101/021_regularex.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 101/021_regularex.md diff --git a/101/021_regularex.md b/101/021_regularex.md new file mode 100644 index 0000000..5f42aa3 --- /dev/null +++ b/101/021_regularex.md @@ -0,0 +1,15 @@ +Le *espressioni regolari* o `regex` sono costituite da sequenze di caratteri che costituiscono un modello generico utilizzato per individuare una sequenza corrispondente in una stringa di dimensioni maggiori. + +Un *atomo*, l'elemento base di una regex, e' un carattere, che puo' avere o meno un significato speciale. Alcuni caratteri con un significato speciale: + +- `.`: il carattere corrisponde a qualsiasi carattere +- `^`: inizio linea. E' un carattere letterale e non ambiguo, tranne quando e' posizionato all'inizio della riga +- `$`: fine linea. E' un carattere letterale e non ambiguo, tranne quando e' posizionato alla fine della riga + +## Parentesi quadre + +Un altro atomo sono le `[]`, denominato *bracket expression* (espressione tra []). Un'espressione tra parentesi quadre e' solo un elenco di caratteri letterali racchiusi da [], facendo corrispondere l'atomo a ogni singolo carattere dell'elenco. + +Per specificare i caratteri a cui l'atomo non deve corrispondere, l'elenco deve iniziare con `^`, come in [^1b]. + +E' possibile anche specificare degli intervalli. Per esempio, `[0-9]` corrisponde alle cifre da 0 a 9 e `[a-z]` a qualsiasi lettera minuscola. \ No newline at end of file