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

    Aiuto con espressione regolare

    Salve..
    come si fa nelle espressioni regolari a escludere
    una parola esatta dalla classe..
    cioè io ho una classe di questo genere:

    codice:
    [a-z0-9]+
    Vorrei escludere per esempio la parola elenco,
    ho provato usando ^ ma non ci sono riuscito.

    Spero possiate aiutarmi.

  2. #2
    Devi usare un match negato.

    codice:
    (?!elenco)

  3. #3
    Ti ringrazio tantissimo per la risposta..
    ti spiego cosa voglio fare perché ho fatto mille prove ma mi da sempre errore, sicuramente per un mio errore di sintassi.

    In pratica vorrei fare un redirect permanente tramite la direttiva RedirectMatch, questo è quello che metto in .htaccess

    codice:
    RedirectMatch 301 ^/([a-z])([a-z0-9\-]+)\.html$ http://www.miosito.com/elenco/$1/$1$2.html
    Dal secondo "gruppo":

    codice:
    ([a-z0-9\-]+)
    Vorrei escludere "elenco", come inserisco il match negato che mi hai suggerito?

  4. #4
    Originariamente inviato da Dalcielo
    Vorrei esludere "elenco", come inserisco il match negato che mi hai suggerito?
    codice:
    (?:(?!elenco)([a-z0-9\-]+))

  5. #5
    Grazie mille.. stavo impazzendo.
    E se volessi escludere più di una parola si potrebbe sempre fare?

  6. #6
    Originariamente inviato da Dalcielo
    Grazie mille.. stavo impazzendo.
    E se volessi escludere più di una parola si potrebbe sempre fare?
    Sì, certo. Ma te lo lascio fare come esercizio.
    Hai abbastanza dati per poter aggiungere elemnti con qualche semplice base di Regexp.

  7. #7
    Il problema è che già prima di chiedere ho cercato di arrivarci da solo ma niente.. prima ancora di aprire questo topic ho letto un paio di guide generali sulle espressioni regolari e ho imparato molto tanto che sono riuscito a fare cose che non mi sarei mai sognato (sono davvero versatili) ma su questa particolare cosa non riesco a trovare nulla in rete e non riesco ad arrivarci.. questi sono i tentativi che ho fatto:

    codice:
    (?:(?!elenco)(?!elenco2)([a-z0-9\-]+))
    (?:(?!elenco)?:(?!elenco2)([a-z0-9\-]+))
    (?:(?!elenco,elenco2)([a-z0-9\-]+))
    Ho provato cose assurde sperando di arrivarci come puoi vedere :stordita: ma niente :bhò:

    PS: credo di esserci arrivato:

    codice:
    ((?:(?!elenco1))(?:(?!elenco2))([a-z0-9\-]+))
    Giusto?

  8. #8
    Qual è l'operatore (OR) in una espressione regolare?

  9. #9
    Credo sia questo "|"

    Quindi questo è il modo corretto?

    codice:
    (?:(?!elenco1|elenco2)([a-z0-9\-]+))

  10. #10
    Originariamente inviato da Dalcielo
    Credo sia questo "|"

    Quindi questo è il modo corretto?

    codice:
    (?:(?!elenco1|elenco2)([a-z0-9\-]+))
    Yes. Vedi che con un po' di esercizio puoi arrivarci.

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.