Advertisement
TringaliLuca

RegEx Cheatsheet

Dec 27th, 2018 (edited)
327
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.94 KB | None | 0 0
  1. Una RegEx è fondamentalmente un testo. Se voglio cercare "gatto" mi basta cercare "gatto". Però ci sono dei simboli speciali:
  2. Simboli speciali:
  3. .
  4. Qualsiasi carattere tranne invio a capo. Se il flag DOTALL è impostato, vale anche l'invio a capo.
  5. ^
  6. Inizio stringa
  7. $
  8. Fine stringa
  9. \
  10. Carattere di escape per i simboli speciali (es: . = tutti i caratteri, \. = il punto)
  11. ()
  12. Indica un gruppo di caratteri, che devono essere trovati tutti assieme (es: (gatto) = gatto, non "gat to"). Ogni gruppo trovato è identificato da un numero. Il numero può poi essere usato nel replace, chiamandolo con la forma \g<1> oppure \1 (es: in ga(tt)o, il simbolo \1 è "tt"). In Notepad++, \U\1 rende il gruppo maiuscolo, mentre \L\1 lo rende minuscolo.
  13. []
  14. Indica uno qualsiasi dei caratteri all'interno delle parentesi (gatt[oa] = gatto oppure gatta)
  15. -
  16. Un range di caratteri: a-z indica tutte le lettere minuscole, A-Z tutte le maiuscole, 0-9 tutte le cifre, 0-5 le cifre da 0 a 5,
  17. [^]
  18. Indica un qualsiasi carattere non contenuto nelle parentesi (es: [^0-9] indica qualsiasi carattere non sia un numero)
  19. |
  20. Operatore logico OR (es: (gatto|gatta) troverà gatto oppure gatta)
  21. (?i)
  22. Cerca come case insensitive solo l'espressione tra parentesi (solo Python)
  23. (?s)
  24. Applica il DOTALL solo per l'espressione tra parentesi (solo Python)
  25. (?=)
  26. Lookahead: trova l'espressione precedente solo se è seguita dal contenuto tra parentesi. (Es: Isaac (?=Asimov) troverà 'Isaac ' solo se seguito da 'Asimov')
  27. (?!)
  28. Negative lookahead: trova l'espressione precedente solo se non è seguita dal contenuto tra parentesi. Nella forma ^((?!testo).)*$ troverà tutte le righe che non contengono la parola "testo".
  29. (?<=)
  30. Lookbehind: trova l'espressione seguente solo se preceduta dal contenuto tra parentesi.
  31. (?<!...)
  32. Negative lookbehind: trova l'espressione seguente solo se non preceduta dal contenuto tra parentesi.
  33. \b
  34. word boundary: trova l'inizio o la fine di una parola.
  35. \B
  36. trova un carattere che non sia ne all'inizio ne alla fine di un parola
  37. \d
  38. Trova un numero (digit) (in ASCII è uguale a [0-9], ma vale anche per codifiche diverse dalla latina)
  39. \D
  40. Trova un carattere che non sia un numero
  41. \s
  42. Trova uno spazio di qualche tipo (spazio, tabulazione, invio a capo, eccetera)
  43. \S
  44. Trova un carattere che non sia uno spazio
  45. \t
  46. Trova una tabulazione
  47. \n \r
  48. Trova un invio a capo (\r è CR, \n è \LF). Soluzione completa: [\r\n]+
  49. \w
  50. Trova un carattere che possa far parte di una parola alfanumerico: significa una lettera qualsiasi, un numero, o l'underscore.
  51. \W
  52. Trova un qualsiasi carattere non alfanumerico
  53. QUANTIFICATORI
  54. *
  55. Trova 0 o più occorrenze dell'espressione
  56. +
  57. Trova 1 o più occorrenze dell'espressione
  58. ?
  59. Trova 0 o 1 occorrenze dell'espressione
  60. {m}
  61. Trova esattamente m occorrenze dell'espressione
  62. {m,n}
  63. Trova tra le m e le n occorrenze dell'espressione (più possibile, comunque).
  64. *?, +?, ??, {m,n}?
  65. Modificatore non-greedy, cerca di identificare meno caratteri possibile.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement