[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: regexp multiline che conta le coppie di parentesi



Il 11/01/2012 20:13, Davide Prina ha scritto:
On 11/01/2012 10:29, Federico Bruni wrote:

Mi spiego meglio: voglio creare una regexp capace di individuare un
blocco di questo tipo:

#(define (helper ls1 ls2 ls3)
"Constructs an alist with the elements of ls1 and ls2"
(set! ls3 (assq-set! ls3 (car ls1) (car ls2)))
(if (null? (cdr ls1))
ls3
(helper (cdr ls1) (cdr ls2) ls3)))

\check highlight


Quello compreso tra #( e ls3)))

puoi usare bgrep[1] che è il grep multilinea che permette di
identificare blocchi di dati tramite espressioni regolari.
Solo che devi aspettare che rilascino la prima versione... per ora c'è
lo studio e non so se ci sia un prototipo o l'accesso ad un repository
per i sorgenti.


Non posso usare altri programmi né script.
Posso solo creare una regexp, specificando che è multilinea.


C'è un modo per contare le parentesi aperte e completare il "match" solo
quando trova un egual numero di parentesi chiuse?

puoi scriverti un piccolo script bash (o Perl o altro)


Grazie per l'esempio, ma come dicevo sopra non è il mio caso.

Forse le backreference mi possono essere d'aiuto, ma ancora non le ho capite a fondo:
http://www.gnu.org/software/src-highlite/source-highlight.html#Dynamic-Backreferences



Reply to: