Post

Visualizzazione dei post con l'etichetta Regex

Generazione automatica di collegamenti ipertestuali, in ambiente LaTeX mediante le Espressioni Regolari di Vim, tra atti giudiziari e documenti prodotti.

Immagine
Abstract: Vim è un editor dalle infinite risorse. Può anche anche generare, grazie alle Espressioni Regolari incorporate, collegamenti ipertestuali in linguaggio LaTeX verso altri documenti presenti in locale. Per gli Avvocati ciò significa collegare un atto principale con le relative produzioni documentali. Questa è l'analisi del procedimento. 1. Oggetto di questo articolo. 2. Prima di cominciare. 3. Configurazione del documento principale. 4. Formula in RegEx per la generazione automatica dei collegamenti. 5. Spiegazione della formula RegEx. 6. Gestione del "carattere di sottolineatura". 7. Collegamenti all'interno del testo 7.1. Soluzione del "collegamento indiretto": 7.2. Soluzione del "collegamento diretto": 1. Oggetto di questo articolo. A volte occorre inserire in un documento principale in PDF una lista di documenti da richiamare con specifici collegamenti ipertestuali dedicati ad ogni elemento della list...

Linux: rename, rename.ul, prename, perl-rename: che confusione!

Immagine
1 Sintesi di questo articolo. 2 Uno per tutti: mv . 3 Il comando rename : qui iniziano i problemi! 4 Come si comporta il comando “rename” NON compatibile con le espressioni regolari? 5 I comandi compatibili con le “espressioni regolari” 6 Il comando “ sed ” in GNU/Linux 7 Utilizzo dei comandi compatibili con le espressioni regolari. 1 Sintesi di questo articolo. In questo articolo riporto alcune osservazioni su come rinominare i documenti in GNU/Linux utilizzando comandi testuali, chiarendo alcune differenze tra varie distribuzioni. Il comando rename non ha, infatti, un comportamento univoco nelle distribuzioni derivate da Debian rispetto a quelle derivate da Fedora e Arch. Cercherò di chiarire il contenuto dei diversi comandi ed il diverso comportamento di comandi che hanno lo stesso nome. Tutti i passaggi sono stati personalmente provati durante la stesura dell’articolo. Se trovate imprecisioni ...

Vim Is Magic or Nomagic?

Immagine
Cos’è questo scherzo? Il titolo è uno scherzo con il nome di “ V.I.M. ” (ho mantenuto il titolo in inglese per non perdere il gioco di parole ) ma, allo stesso tempo, è una modalità reale di Vim stesso: la Modalità Magica ( Magic Mode ). Per capire cos’è il Magic Mode , la fonte primaria è la voce :help magic di Vim. In poche parole: - La Modalità magica si riferisce alle espressioni regolari . - La modalità magica è abilitata per impostazione predefinita in Vim. - È possibile invocare esplicitamente la Modalità magica con il comando \m nell’area di ricerca delle Espressioni Regolari . - Per disattivarla è necessario impostare \M ( m maiuscola) nell’area di ricerca. - Quando si usa il comando \M si richiama la Modalità Non magica . - La modalità Non magica trasforma “ quasi tutti i simboli regex speciali in simboli ordinari, a meno che non inizino con una barra rovesciata ”. - Esiste anche una modalità Molto Non magica che estende l’effetto ad altri caratteri, non rilev...

Vim: studio sulla trasposizione di elenchi di nomi da orizzontali a verticali

Immagine
Obiettivo primario dello studio Stato iniziale : serie di nomi in linea, separati da un punto e virgola seguito da uno spazio. Obiettivo : trasporre tutti i nomi in una colonna eliminando sia punti e virgola che gli spazi. Finalità : Creazione di elenco per mail-merging con client di posta elettronica ( Thunderbird ). Strumenti : Vim e funzione RegEx incorporata. Esempio : Da: One@mail; Two@mail; Three@mail; ... A: One@mail Two@mail Three@mail ... Obiettivo secondario Provare l’integrazione tra Markdown e tag css. Questo obiettivo è stato realizzato nell’Esempio sopra riportato mediante inserimento del seguente codice: <p style = "text-align: center; font-weight: bold;" > Da: </p> <pre> One@mail; Two@mail; Three@mail; ... </pre> <p style = "text-align: center; font-weight: bold;" > A: </p> <pre> One@mail Two@mail Three@mail ... </pre> Vim: espressione regolare per l’obiettivo ...

Confronto tra Vim ed Emacs per un'operazione di sostituzione tramite espressioni regolari

Immagine
Prefazione Questo è un articolo riassuntivo di due precedenti post che potete leggere a queste pagine: “Vim: Studio sulla costruzione di Espressioni Regolari per cancellare o ridurre righe vuote con il Comando Globale” “Emacs: Studio sulla costruzione di espressioni regolari per eliminare o ridurre le righe vuote” L’argomento delle “espressioni regolari” in Vim ed Emacs si presta bene a un confronto funzionale tra i quattro diversi scenari trattati negli articoli sopra menzionati ai quali rimando per la descrizione della sintassi. Tabella Comparativa Obiettivo Vim Emacs Eliminare le righe vuote “pure” :g/^$/d M-x flush-lines <RET> ^$ <RET> Eliminare le righe vuote con spazi bianchi :g/^\s*$/d M-x flush-lines <RET> ^\s-*$ <RET> Ridurre le righe vuote “pure” :g/^$\n^$/d M-x query-replace-regexp <RET> ^C-qC-j\{2,\} <RET> C-qC-j <RET> Ridurre le righe vuote con spazi bianchi g/^\s*$\n^\s*$/d ^\(^C-q<SP...

Emacs: Studio sulla costruzione di espressioni regolari per eliminare o ridurre le righe vuote

Immagine
Dopo l’articolo su “Vim: Studio sulla costruzione di Espressioni Regolari per cancellare o ridurre righe vuote con il Comando Globale” ho provato a confrontarmi con un’analoga operazione in Emacs. L’obiettivo è studiare le differenze di sintassi relative alle “espressioni regolari” tra due sistemi di scrittura. Quello che segue è il risultato dei miei tentativi dopo varie ricerche in rete. Rimuovere le righe vuote in Emacs usando RegExp Innanzitutto, può essere utile visualizzare le righe vuote del documento. Per visualizzare in anteprima le righe vuote, si può usare la funzione whitespace-mode ( M-x whitespace-mode <RET> ): le righe vuote saranno contrassegnate da segni di dollaro, cioè righe in cui non c’è alcun carattere, nemmeno uno spazio bianco. A questo punto è possibile selezionare una regione o operare sull’intero documento dal punto del cursore con la funzione flush-lines , o con l’alias delete-matching-lines , per rimuovere le righe che corrispondono al risul...