Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    (semplici) dubbi per una regex

    Ciao a tutti!
    Sto studiando un po' le regex e ovviamente mi sorgono dubbi che da solo non riesco però a chiarire. Eccoveli in pasto

    su questo testo:
    codice:
    <HTML><HEAD><TITLE>ESPRESSIONI REGOLARI</TITLE></HEAD><BODY></BODY></HTML>
    cerco di confrontare la mia regex in modo che risulti vera.

    Questa prima espressione:
    codice:
    <.+?>
    risulta vera. Attenzione che già ho capito che la regex non si ferma alla prima chiusura di tag, ma fino all'ultima chiusura tutto ricade nel "." con ripetizione +.

    Ho quindi pensato.. posso racchiudere tale punto, indicante un generico carattere, in una classe che faccia lo stesso lavoro? Ossia così
    codice:
    <[.]+?
    La risposta, se l'espressione viene confrontata con il testo, dice NO. Però non capisco perché. E in caso come è possibile definire un generico carattere in una classe?

    Grazie a tutti, buon fine settimana!

  2. #2
    [Parzialmente OT]Le RegEx non vanno usate sull'HTML, dato che l'HTML è un linguaggio di complessità superiore a ciò che le RegEx possono gestire. Il modo più corretto per effettuare il parsing dell'HTML è usare un parser scritto precisamente per tale fine.[/Parzialmente OT]
    Amaro C++, il gusto pieno dell'undefined behavior.

  3. #3
    La prima regexp recupera "<HTML>" non va fino alla fine, perchè hai usato "+?" invece di "*".

    La seconda non funziona invece, perchè il punto in una classe non viene visto come "qualsiasi carattere" ma come "segno di punteggiatura punto", quindi la tua regexp sarebbe uguale a "<\.*".
    lolide
    Java Programmer

    Informati

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.