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

    Estrazion e proprietà di RegExp

    Salve,
    vorrei fare un parsing su un file, ma mi mancano alcuni concetti.
    Finora mi bastava uno script come questo
    codice:
    function bbcode(argStrText)
    Dim objRegExp
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    
    'Riconoscimento img
    objRegExp.Pattern = "\[img\]([^\]]+)\[\/img\]"
    argStrText = objRegExp.Replace(argStrText, "[img][/img]")
    'Link
    objRegExp.Pattern = "\[url=([^\]]+)\]([^\[]+)"
    argStrText = objRegExp.Replace(argStrText, "<a href=""$1"">$2")
    'Email
    objRegExp.Pattern = "\[email=([^\]]+)\]([^\[]+)"
    argStrText = objRegExp.Replace(argStrText, "<a href=""mailto:$1"">$2")
    
    set objRegExp = Nothing
    bbcode = argStrText
    End Function
    Ora però più che un Replace, mi interesse mostrare il singolo valore individuato dalla RegExp.
    Come si fa?

    Avete da suggerirmi dei link di approffondimento per le proprietà dell'oggetto objRegExp ?
    Grazie mille e buon anno!

    Riccardo

  2. #2
    Sto provando un po' di cosine... tipo
    codice:
    <%
    testo="Testo tra Associazione e relativa mail.."
    
    function estraimail(testo)
    Dim objRegExp
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    
    'objRegExp.Pattern="([^]+)[/b][^< href='mailto:]+<a href='mailto:([^'>]+)"
    objRegExp.Pattern="\<b\>([^\<\/b\>]+)\<\/b\>"
    estratto=objRegExp.Replace(testo, "vai $1 ora")
    'estratto=objRegExp.Replace(testo, "$1: $2;;")
    estratto=estratto&"
    Funziona!"
    set objRegExp = Nothing
    estramail = estratto
    End Function
    
    Response.Write(testo)
    scrivi=estraimail(testo)
    Response.Write(scrivi)
    %>
    La cosa strana è che l'output non vedo la scritta "Funziona!" che invece dovrebbe essere presente a prescindere dal match..
    Se invece scrivo all'interno della funzione un Response.Write("Ora va!"), nell'output questa scritta è effettivamente presente.

    Sapete dirmi perchè?
    Ed in merito alle domande poste nel primo post?

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.