Presentando il Parse di Python L’alternativa definitiva alle espressioni regolari.

Introducing Python's Parse The ultimate alternative to regular expressions.

STRUMENTI PYTHON

Usare le migliori pratiche e gli esempi del mondo reale per dimostrare la potente libreria parse

La libreria parse è molto semplice da usare. Foto di Amanda Jones su Unsplash

Questo articolo introduce una libreria Python chiamata parse per analizzare estrarre rapidamente e comodamente i dati dal testo, che rappresenta un’ottima alternativa alle espressioni regolari di Python.

E copre le migliori pratiche con la libreria parse e un esempio del mondo reale di analisi del testo del registro nginx.

Introduzione

Ho un collega di nome Wang. Un giorno, è venuto da me con un’espressione preoccupata, dicendo di aver incontrato un problema complesso: il suo capo voleva che analizzasse i registri del server degli ultimi mesi e fornisse statistiche sul traffico dei visitatori.

Gli ho detto che era semplice. Usa solo le espressioni regolari. Ad esempio, per analizzare i registri di nginx, usa la seguente espressione regolare, ed è elementare.

content:192.168.0.2 - - [04/Jan/2019:16:06:38 +0800] "GET http://example.aliyundoc.com/_astats?application=&inf.name=eth0 HTTP/1.1" 200 273932regular expression:(?<ip>\d+\.\d+\.\d+\.\d+)( - - \[)(?<datetime>[\s\S]+)(?<t1>\][\s"]+)(?<request>[A-Z]+) (?<url>[\S]*) (?<protocol>[\S]+)["] (?<code>\d+) (?<sendbytes>\d+)

Ma Wang era ancora preoccupato, dicendo che imparare le espressioni regolari è troppo complicato. Anche se ci sono molti esempi pronti online da cui imparare, ha bisogno di aiuto per analizzare i formati di testo non comuni.

Inoltre, anche se avesse potuto risolvere il problema questa volta, e se il suo capo chiedesse modifiche alle regole di analisi quando avesse presentato l’analisi? Non avrebbe dovuto barcamenarsi per molto tempo di nuovo?

C’è un metodo più semplice e conveniente?

Ho pensato e ho detto, certo che c’è. Presentiamo il nostro protagonista oggi: la libreria Python parse.

Installazione e configurazione

Come descritto sulla pagina GitHub di parse, utilizza la sintassi di formattazione di Python per analizzare il testo, essenzialmente servendo come una operazione inversa delle f-string di Python.