Translate to english regex notes

This commit is contained in:
Marcello Lamonaca 2021-02-06 21:37:33 +01:00
parent a2385fbff5
commit f4aaec9e32

View file

@ -1,67 +1,65 @@
# Common Regex Syntax # Common Regex Syntax
## Classi Di Caratteri ## Character Types
`\d` qualsiasi cifra (0-9) `\d` any digit (0-9)
`\D` qualsiasi carattere non cifra `\D` any non digit character
`\s` spazio bianco (space, tab, new line) `\s` whitespace (space, tab, new line)
`\S` qualsiasi carattere non spazio binaco `\S` any non whitespace charaters
`\w` qualsiasi carattere alfanumerico(a-z, A-Z) `\w` any alphanumeric charater (a-z, A-Z)
`\W` qualsiasi carattere non alfanumerico `\W` any non alphanumeric character
`\b` spazio intorno alle parole (solo inizio o fine stringa) `\b` whitespace surrounding words (only at row start or end)
`\B` spazio intorno alle parole (solo se all'interno della stringa, no ad inizio o fine) `\B` whitespace surrounding words (not at row start or end)
`\A` ricerca solo all'inizio della stringa `\A` search only at string start
`\Z` ricerca solo al fondo della stringa `\Z` search only at string end
`.` tutti i caratteri tranne linea nuova (CRLF) `.` any charaters but newline (CRLF, CR, LF)
## Quantificatori ## Quantifiers
`+` una o più ripetizioni `+` one or more repetitions
`*` zero o più ripetizioni `*` zero or more repetitions
`?` zero o una ripetizione `?` zero or one repetition
`{m}` esattamente *m* volte `{m}` exactly *m* times
`{m, n}` minimo *m* volte massimo *n* volte `{m, n}` at least *m* times, at most *n* times
The `*`, `x`, and `?` qualifiers are all greedy; they match as much text as possible 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. 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 `\a, \b, \f, \n, \r, \t, \u, \U, \v, \x, \\, \?, \*, \+ , \., \^, \$` special characters
`\(`, `\)` escape delle parentesi nella stringa `\(`, `\)`, `\[`, `\]` brackets escaping
## Delimitatori ## Delimiters
`^` cerca corrispondenza ad inizio stringa o linea `^` match must be at start of string/line
`$` cerca corrispondenza a fondo stringa o linea `$` match must be at end of string/line
`^__$` corrispondenza deve essere l'intera stringa `^__$` match must be whole string
## Classi Caratteri ## Character classes
`[__]` un carattere tra quelli nella classe (`[ab]` --> a or b) `[__]` one of the charaters in the class (`[ab]` --> a or b)
`[__]{m , n}` caratteri consecutivi tra quelli nella classe (`[aeiou]{2}` --> ae, ao, ...) `[__]{m , n}` consecutive characters in the class (`[aeiou]{2}` --> ae, ao, ...)
`[a-z]` sequenza di caratteri minuscoli `[a-z]` sequence of lowercase characters
`[A-Z]` sequenza di caratteri maiuscoli `[A-Z]` sequence of uppercase characters
`[a-zA-Z]` sequenza di carateri minuscoli o maiuscoli `[a-zA-Z]` sequence of lowercase or uppercase characters
`[a-z][A-Z]` equenza di caratteri miuscoli seguiti da sequenza di caratteri maiuscoli `[a-z][A-Z]` sequence of lowercase characters followed by sequence of uppercase charaters
`[^__]` tutto tranne quello nella classe (**attenzione**: includere `\n` per evitare di includere linee multiple di testo) `[^__]` 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 `]`. `^`, `\`, `-` and `]` must be escaped to be used in clases: `[ \]\[\^\- ]`
Per essere usati devono essere usati come escape: `[\]\[\^\-]`
## Gruppi ## Groups
`(__)` sottogruppo della REGEX, utile per raggruppare parti della REGEX `(__)` REGEX subgroup
`(REGEX_1 | REGEX_2)` cerca corrispondenza di REGEX multiple (R1 OR R2) `(REGEX_1 | REGEX_2)` match in multiple regex (R1 OR R2)
`(?#__)` cerca commenti `(?=__)` match only if `__` is next substring
`(?=__)` corrisponde solo se `__` è prossima substringa `(?!__)` match only if `__` is not next substring
`(?!__)` corrisponde solo se `__` non è prossima substringa `(?<=__)` match only if `__` is previous substring
`(?<=__)` corrisponde se `__` è substringa precedente `(?<!__)` match only if `__` is not previous substring
`(?<!__)` corrisponde solo se `__` non è substringa precedente
`\<number>` fa riferimento all'n-esimo gruppo. `\<number>` refers to n-th group
## Casi Particolari ## Special Cases
`(.*)` corrisponde con qualsiasi cosa `(.*)` match anything
`(.*?)` corrisponde con qualsiasi cosa, non-greedy match `(.*?)` match anything, non-greedy match