Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32

    Regular expression Particolare

    Ciao ragazzi,
    dopo aver esaurito e letto i 3d sull'argomento RegExp vi scrivo per chiedervi un aiuto.
    Devo estrapolare da una stringa complessa e variabile, una data e un valore e memorizzarli in un array.
    O meglio...

    19/10/1979 roma
    mi 14/05/1869
    foggia 7/5/75
    78 castel sant'angelo


    codice:
    while not(rs.eof)
    u = stringa
    
    u = replace(u, "-","/")
    arru = split(u, "/")
    for i = 0 to Ubound(arru)
    if isdate(arru(i)) then
    Oggi = FormatDateTime(arru(i),vbGeneralDate)
    Anno = DatePart("yyyy",Oggi)
    Mese = DatePart("m",Oggi)
    Giorno = DatePArt("d",Oggi)
    Oggi = CDate(Mese &"/"& Giorno &"/"& Anno)
    end if
    next
    
    
    end if	
    	Rs.movenext
    		wend
    purtroppo il code incompleto qui sopra mi verifica solo la data.
    Mi aiutate a esguire questo script con RegExp?

    Grazie

  2. #2
    questo valore che sarebbe? quel 78? il pattern per la regExp potrebbe essere "\b(d*)\b" o simile

  3. #3
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32
    ciao,
    quel 78 è una data formatata male, era per intendere che ci sono anche valori dove i primi due numeri fanno intendere l'anno.

    a me interessava sapere come separare la stringa in due gruppi:
    1. uno che comprenda la parte numerica e lo /
    2 che comprenda tutti i caratteri


    non so se ti ho reso l'idea

    grazie

  4. #4
    così?
    codice:
    dim testo
    
    testo="12/45/1987 testo"
    
    set reg=new RegExp
    
    reg.ignoreCase=true
    reg.Global=true
    
    reg.pattern="\s*(\d{2}\/\d{2}\/\d{4})+\s*"
    
    set ris=reg.Execute(testo)
    
    response.write ris(0).SubMatches(0)

  5. #5
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32
    PERFETTO!!!


    ma non esiste il modo di recuperare anche la parte dei caratteri che scarta?

  6. #6
    Utente di HTML.it L'avatar di Dave79
    Registrato dal
    Apr 2003
    Messaggi
    32
    mi sa che ne eseguo due.
    Uno come ricerca data (grazie a te ) e l'altro come ricerca caratteri.

    si mi sa che farò così.

    Grazie ancora.

  7. #7
    fai un execute e ricavi la data, e poi fai un replace della data con lo spazio e ti resta la stringa

    codice:
    dim testo
    
    testo="12/45/1987 testo"
    
    set reg=new RegExp
    
    reg.ignoreCase=true
    reg.Global=true
    
    reg.pattern="\s*(\d{2}\/\d{2}\/\d{4})+\s*"
    
    set ris=reg.Execute(testo)
    
    dim data,testo_pulito
    data=ris(0).SubMatches(0)
    testo_pulito=reg.replace(testo,"")
    se non erro

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.