Visualizzazione dei risultati da 1 a 7 su 7

Discussione: RegEx: tag annidati

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127

    RegEx: tag annidati

    ho questa regex
    \[testo\](.*)\[\/testo\]

    soltanto ke facendo un replace in un linguaggio lato server nel caso di + tag [testo] annidati prende solo il primo e la sua kiusura, ignorando quelli intermedi ..
    momentaneamente ho risolto con un ciclo, ma non ci sarebbe una funzione nel regex ke dice di cercare se dentro a (.*) c'è una nuova coppia [testo][/testo] ..

    grazie!
    CIAO!

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    forse è il caso che specifichi con quale linguaggio e la sintassi precisa

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    la mia domanda riguarda solo al regex, cmq uso asp .net

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Potrebbe mnancare un /g o un /s finale. O forse semplicemente un /i

    Posta tutta la regexp (dalla prima barra ai caratteri dopo l'ultima), e dovresti dire se la regexp deve lavorare su una stringa con degli "acapo" all'interno.

    Tieni presente che non in tutti linguaggi esiste il /s (mentre il /i e /g li ho sempre visti).
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Posta tutta la regexp (dalla prima barra ai caratteri dopo l'ultima), e dovresti dire se la regexp deve lavorare su una stringa con degli "acapo" all'interno.
    allora la regex è quella, la ho ricopiata tutta
    non deve lavorare sugli acapo in quanto ci pensa già prima (faccio una sostituzione del carattere corrispondente ad acapo con "
    ")

    ciao e grazie!

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ma ASP.net usa VBS?
    Io non conosco la sintassi VBS, ma nella tua regexp mancano i limitatori della stringa.
    Inoltre ci possono essere dei modificatori. Ti consiglio di inserire senz'altro il modificatore i, e comunque quello che stai cercando e` il modificatore g.

    In JS:
    /\[testo\](.*)\[\/testo\]/gi

    Oppure:
    var xx = new RexExp("\[testo\](.*)\[\/testo\]", "gi");
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Non so rispondere a questa domanda.
    Però ricordo che è possibile ricorrere ad una versione di overload della funzione Replace che fa uso di un delegate per invocare una funzione definita nell'applicazione. Si dice che questa caratteristica consente di raggiungere una flessibilità eccezionale.
    Io l'ho vista nella costruzione di un valutatore. In pratica vi sono parentesi annidate in cui si valuta l'espressione (credo che sia il tuo caso) e si fa una sostituzione. di più non so.
    Pietro

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 © 2025 vBulletin Solutions, Inc. All rights reserved.