Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    pspad - espressione regolare

    Onestamente non ho idea di quale sezione fosse più adatta...
    Cominque, devo fare con pspad un sostituisci nei file;

    vorrei che tutte le occorrenze
    <div class="news">Un qualsiasi testo</div>
    vengano sostituite da
    <h3>Un qualsiasi testo</h3>

    in pratica mantenendo intatto "Un qualsiasi testo"

    Ho abbozzato due espressioni regolari, la prima:
    <div class="news">.+?</div>
    è quella di ricerca, la seconda:
    <h3>.+?</h3>
    è ciò che deve essere sostituito.

    Il problema è che così facendo non mi compare <h3>Un qualsiasi testo</h3>, bensì:
    <h3>.+?</h3>

    Si può risolvere ciò? Altrimenti pspad permette di salvare in una variabile una stringa qualsiasi per poi riusarla?

    Scusate l'incompetenza in campo di reg Expression

  2. #2
    Come espressione di ricerca inserisci
    codice:
    <div class="news">(.+)</div>
    e come espressione di sostituzione
    codice:
    <h3>$1</h3>
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    Grazie mille, funziona perfettamente ( anche se ti sei scordato un ? )
    <div class="news">(.+?)</div>

    Ora però PSPAD mi fa un errore molto strano: quando faccio sostituisci nei file non riesce ad eseguire l'operazione e mi fa un suono di errore.
    Se invece faccio sostituisci ad un solo file funzione perfettamente: qualcuno ha idee sul perchè succeda questo?

  4. #4
    La cosa bella è che ciò succede solo se sostituisco tag html...

    Anche ultra edit si rifiuta di fare la stessa operazione
    Centra qualcosa che li ho scritti col blocco note di windows? Forse è un conflitto di caratteri...

  5. #5
    Ho provato anche a fare l'escape con \ ma non funziona...
    Cercando ad esempio <div class="testo"></div> funziona, cercando <div class="testo">(.+?)</div> invece no

    Mi sta venendo il dubbio: nella ricerca ad un solo file funziona tutto, inoltre c'è una casella che se spuntata permette di usare reg expression...
    Nella ricerca a più file questa casella non c'è.
    Non è che non è proprio possibile usarle nella ricerca a più file?

    Non a caso non funziona nemmeno quest'espressione:
    include.+?;
    quindi non c'entra niente coi tag.

  6. #6
    PSPAD non supporta le regExp per più file, lo dice nelle faq
    ho deciso di usare notepad++,ma ora si presenta un altro problema, che le regxp funzionano si, ma male; qualcuno me la sa adattare a notepad++ che è scritto in c++?
    EDIT:
    un problema è a posto, ho usato \1 al posto di $1


    se qualcuno mi dice COME SOSTITUIRE IL ? IN NOTEPAD++ mi fa un grandissimo favore...

  7. #7
    Scusate se insisto ma sto facendo una marea di ricerche e ancora non ho trovato niente...
    In pratica devo trovare la prima occorrenza di una certa stringa in una regex, e non l'ultima...
    Così funziona su pspad
    parola1.+?parola_da_cercare

    ma non su notepad++

    Come risolvo su quest'ultimo?

  8. #8
    da quanto ho capito, pspad utilizza lo stile perl, notepad++ le posix...

    Altrimenti mi consigliate un buon editor con le regex in syile perl ma che riesca a fare sostitutisci a più file anche usando regex?
    Ho provato tutti gli stili possibili forniti da ultraedit e non funziona

  9. #9
    Ma perché ti serve il "?"? La regex funziona benissimo anche senza...
    Amaro C++, il gusto pieno dell'undefined behavior.

  10. #10
    Se io scrivo <div class="testo">(.+)</div>

    mi trova l'ultima occorrenza di </div>
    Io voglio la prima.

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.