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

    [JAVA] metodo corrispondente a EREG?

    Ciao a tutti, esiste in java un metodo che svolga lo stesso compito della funzione EREG in php?

    spero proprio di si.
    Grazie mille.
    Flash Developer for Rich Media
    PHP, jQuery Developer

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: [JAVA] metodo corrispondente a EREG?

    Originariamente inviato da Miroku
    Ciao a tutti, esiste in java un metodo che svolga lo stesso compito della funzione EREG in php?
    Il supporto alle espressioni regolari è stato introdotto in Java 1.4. Sono disponibili due nuove classi Pattern e Matcher in java.util.regex. Nella classe String sono stati aggiunti dei metodi che trattano le espressioni regolari: matches(), replaceAll(), replaceFirst(), split().
    Le espressioni regolari sono anche utilizzate da altre classi es. Scanner.

    Quindi non ti aspettare un qualcosa di uguale alla ereg del PHP. Documentati su come funzionano in Java.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    mmmmmh
    capito....
    in pratica io devo analizzare una stringa che rappresenta un tag HTML (a cui sono stati tolti il < e il >) e vedere se è scritta in modo corretto.
    quindi deve avere:
    codice:
        nome_tag (che può contenere lettere e numeri da 1 a 6, compresi)
        
        Facoltativo: 
        spazio (singolo perké quelli maggiori li ho rimpiazzati)
        nome_attributo (solo caratteri)
        eventuale spazio singolo
        simbolo '='
        eventuale spazio
        simbolo "
        valore (caratteri e numeri)
        simbolo "
        e la storia dell'attributo può essere ripetuta
    una cosa del genere non posso controllarla con il match()?
    in più: com'è l'espressione regolare per qll scritto sopra? io non saprei mai ricavarla

    grazie mille in anticipo
    Flash Developer for Rich Media
    PHP, jQuery Developer

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Miroku
    in pratica io devo analizzare una stringa che rappresenta un tag HTML (a cui sono stati tolti il < e il >) e vedere se è scritta in modo corretto.
    quindi deve avere:
    codice:
        nome_tag (che può contenere lettere e numeri da 1 a 6, compresi)
        
        Facoltativo: 
        spazio (singolo perké quelli maggiori li ho rimpiazzati)
        nome_attributo (solo caratteri)
        eventuale spazio singolo
        simbolo '='
        eventuale spazio
        simbolo "
        valore (caratteri e numeri)
        simbolo "
        e la storia dell'attributo può essere ripetuta
    una cosa del genere non posso controllarla con il match()?
    Cioè per esempio come se avessi una stringa del tipo:

    String tag = "pippo123 aaa = \"blabla\" bbb=\"blabla\"";

    giusto? In tal caso puoi usare matches(), che nota bene, verifica che l'intera stringa corrisponda alla espressione regolare. Cioè non fa mai un match parziale.

    La espressione regolare non è difficile da fare ... chiaramente è un po' lunghetta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  5. #5
    si, può precisamente essere come dici tu.

    beh se l'espressione regolare tiene conto delle cose facoltative è perfetto.
    Beh che sia lunga o meno... l'importante è che funzioni =D
    Flash Developer for Rich Media
    PHP, jQuery Developer

  6. #6
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Basandomi sulle regole che hai detto, la stringa della regex dovrebbe essere così:

    "[a-zA-Z1-6]+( +[a-zA-Z]+ ?= ?\"[a-zA-Z0-9]*\")*"

    L'ho buttata giù al volo ma dovrebbe essere ok.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  7. #7
    Appena la provo di dò il responso =)

    Grazie mille, sei gentilissimo (e hai una pazienza di ferro XD.. ti ammiro XD)
    Flash Developer for Rich Media
    PHP, jQuery Developer

  8. #8
    scusami ancora...
    se voglio dire che il formato può essere anche " /pippo3 " come faccio?
    va bene il codice qui sotto per dire qll che voglio?
    codice:
    if(!s.matches("[a-zA-Z1-6]+( +[a-zA-Z]+ ?= ?\"[a-zA-Z0-9]*\")*") || !s.matches("*/ + [a-zA-Z1-6]")) throw new MalformedTagException("Sbagliato");
    poi prima ho sbalgiato a dirti una cosa... per la prima espressione regolare
    lo String tag non può iniziare con "pippo123" ma può iniziare solo con o "pippo1" o "pippo2" così fino a 6.... potresti modificarmela?


    grazie mille e scusa ancora...
    Flash Developer for Rich Media
    PHP, jQuery Developer

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da Miroku
    lo String tag non può iniziare con "pippo123" ma può iniziare solo con o "pippo1" o "pippo2" così fino a 6.... potresti modificarmela?
    Ma il numero da 1 a 6 ci deve sempre essere o può non esserci?
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    allora.... non deve esserci per forza (è per permettere l'immissione di tag quali h1 h2 h3....) però può esserci solo una cifra.

    per quanto riguarda il "/tagn"?
    n = possibile numero da 1 a 6 (anke qui come sopra)
    Flash Developer for Rich Media
    PHP, jQuery Developer

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.