From f4aaec9e3270ee5b993c8ad7b8ad80644f40684b Mon Sep 17 00:00:00 2001 From: Marcello Lamonaca Date: Sat, 6 Feb 2021 21:37:33 +0100 Subject: [PATCH] Translate to english regex notes --- RegularExpressions.md | 92 +++++++++++++++++++++---------------------- 1 file changed, 45 insertions(+), 47 deletions(-) diff --git a/RegularExpressions.md b/RegularExpressions.md index 8b41f4e..19472c7 100644 --- a/RegularExpressions.md +++ b/RegularExpressions.md @@ -1,67 +1,65 @@ # Common Regex Syntax -## Classi Di Caratteri +## Character Types -`\d` qualsiasi cifra (0-9) -`\D` qualsiasi carattere non cifra -`\s` spazio bianco (space, tab, new line) -`\S` qualsiasi carattere non spazio binaco -`\w` qualsiasi carattere alfanumerico(a-z, A-Z) -`\W` qualsiasi carattere non alfanumerico -`\b` spazio intorno alle parole (solo inizio o fine stringa) -`\B` spazio intorno alle parole (solo se all'interno della stringa, no ad inizio o fine) -`\A` ricerca solo all'inizio della stringa -`\Z` ricerca solo al fondo della stringa -`.` tutti i caratteri tranne linea nuova (CRLF) +`\d` any digit (0-9) +`\D` any non digit character +`\s` whitespace (space, tab, new line) +`\S` any non whitespace charaters +`\w` any alphanumeric charater (a-z, A-Z) +`\W` any non alphanumeric character +`\b` whitespace surrounding words (only at row start or end) +`\B` whitespace surrounding words (not at row start or end) +`\A` search only at string start +`\Z` search only at string end +`.` any charaters but newline (CRLF, CR, LF) -## Quantificatori +## Quantifiers -`+` una o più ripetizioni -`*` zero o più ripetizioni -`?` zero o una ripetizione -`{m}` esattamente *m* volte -`{m, n}` minimo *m* volte massimo *n* volte +`+` one or more repetitions +`*` zero or more repetitions +`?` zero or one repetition +`{m}` exactly *m* times +`{m, n}` at least *m* times, at most *n* times The `*`, `x`, and `?` qualifiers are all greedy; they match as much text as possible Adding `?` *after* the qualifier makes it perform the match in non-greedy or minimal fashion; as few characters as possible will be matched. -## Caratteri Speciali +## Special Characters -`\a, \b, \f, \n, \r, \t, \u, \U, \v, \x, \\, \?, \*, \+ , \., \^, \$` caratteri speciali -`\(`, `\)` escape delle parentesi nella stringa +`\a, \b, \f, \n, \r, \t, \u, \U, \v, \x, \\, \?, \*, \+ , \., \^, \$` special characters +`\(`, `\)`, `\[`, `\]` brackets escaping -## Delimitatori +## Delimiters -`^` cerca corrispondenza ad inizio stringa o linea -`$` cerca corrispondenza a fondo stringa o linea -`^__$` corrispondenza deve essere l'intera stringa +`^` match must be at start of string/line +`$` match must be at end of string/line +`^__$` match must be whole string -## Classi Caratteri +## Character classes -`[__]` un carattere tra quelli nella classe (`[ab]` --> a or b) -`[__]{m , n}` caratteri consecutivi tra quelli nella classe (`[aeiou]{2}` --> ae, ao, ...) -`[a-z]` sequenza di caratteri minuscoli -`[A-Z]` sequenza di caratteri maiuscoli -`[a-zA-Z]` sequenza di carateri minuscoli o maiuscoli -`[a-z][A-Z]` equenza di caratteri miuscoli seguiti da sequenza di caratteri maiuscoli -`[^__]` tutto tranne quello nella classe (**attenzione**: includere `\n` per evitare di includere linee multiple di testo) +`[__]` one of the charaters in the class (`[ab]` --> a or b) +`[__]{m , n}` consecutive characters in the class (`[aeiou]{2}` --> ae, ao, ...) +`[a-z]` sequence of lowercase characters +`[A-Z]` sequence of uppercase characters +`[a-zA-Z]` sequence of lowercase or uppercase characters +`[a-z][A-Z]` sequence of lowercase characters followed by sequence of uppercase charaters +`[^__]` anything but the elements of the class (include `\n` to avoid matching line endings) -GLi unici simboli con effetto nelle classi di caratteri sono `^`, `\`, `-` e `]`. -Per essere usati devono essere usati come escape: `[\]\[\^\-]` +`^`, `\`, `-` and `]` must be escaped to be used in clases: `[ \]\[\^\- ]` -## Gruppi +## Groups -`(__)` sottogruppo della REGEX, utile per raggruppare parti della REGEX -`(REGEX_1 | REGEX_2)` cerca corrispondenza di REGEX multiple (R1 OR R2) -`(?#__)` cerca commenti -`(?=__)` corrisponde solo se `__` è prossima substringa -`(?!__)` corrisponde solo se `__` non è prossima substringa -`(?<=__)` corrisponde se `__` è substringa precedente -`(?` fa riferimento all'n-esimo gruppo. +`\` refers to n-th group -## Casi Particolari +## Special Cases -`(.*)` corrisponde con qualsiasi cosa -`(.*?)` corrisponde con qualsiasi cosa, non-greedy match +`(.*)` match anything +`(.*?)` match anything, non-greedy match