Visualizzazione dei risultati da 1 a 3 su 3

Discussione: RegExp insolita

  1. #1

    RegExp insolita

    Salve a tutti, ho bisogno di una regexp, provo a spiegarla con un esempio perché è più facile:

    (FUNC1, (FUNC2 a b c), (FUNC3, (X, "a b c", "d e f"), (Y, 1, 2)))

    ...ora supponiamo che io voglia una regexp che mi restituisca FUNC3 e le espressioni che si trovano dentro le sue parentesi, cioè:

    (FUNC3, (X, "a b c", "d e f"), (Y, 1, 2))

    Vorrei proprio usare una regexp, ma sono scarso e non so come fare. Mi blocca il fatto che ci sono diverse ). Suggerimenti?
    STK/Unit: Unit Test framework per MariaDB
    http://stk.wikidot.com/stk-unit

  2. #2
    Non è possibile fare anche solo il matching di parentesi nidificate solo a colpi di regex; le regex infatti possono riconoscere solo grammatiche regolari, mentre la sintassi che richiedi è di complessità superiore.

    In altri termini, non puoi parsare il LISP a colpi di regex. (o almeno, non solo con le regex)
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    In effetti non avevo idea di come fare, ma speravo che fosse dovuto alla mia scarsa conoscenza delle regexp (e alla mia incapacità di imparare a usarle bene). Siccome devo estrarre una funzione sola, mi piaceva l'idea di usare una regexp.

    Grazie comunque per la risposta!
    STK/Unit: Unit Test framework per MariaDB
    http://stk.wikidot.com/stk-unit

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.