• User

    problema con regex

    Ciao a tutti,

    Ho un problema con le regular expression che non so usare molto bene.
    Vi spiego la mia necessita.
    Ho bisogno di sostituire determinate parole in un testo, con solo determinati caratteri che li seguono e precedono

    Questo è il codice che ho scritto

    Set objRegExpr = New RegExp
    objRegExpr.Pattern = "[ !(),.;:>?]" & lcase(sname) & "[ !(),.;:<>?]"
    objRegExpr.IgnoreCase = True
    objRegExpr.Global = True
    objRegExpr.MultiLine = True
    Set objRegExpr2 = New RegExp
    objRegExpr2.Pattern = "[ !(),.;:>?]<a rel=""external"" indirizzoassoluto" & versione & ".wikipedia.org/wiki/" & Replace(sTranslation," ","_") & """ title=""" & GetTranslation("LANG_VERIFICA_DEFINIZIONE") & " " & sTranslation & """ class=""glossary"">" & sName & "</a>[ !(),.;:<>?]"

    sText=objRegExpr.Replace(sText, objRegExpr2.Pattern)
    set objRegExpr = nothing
    set objRegExpr2 = nothing

    Fino alla dichiarazione di objRegExpr2, credo lo script sia giusto.
    Il problema è che dovrei sostituire le occorrenze che trova con il carattere che precede la parola che io cerco (uno fra quelli inseriti [ !(),.;:>?]),. questa stringa <a rel=""external"" indirizzoassoluto" & versione & ".wikipedia.org/wiki/" & Replace(sTranslation," ","_") & """ title=""" & GetTranslation("LANG_VERIFICA_DEFINIZIONE") & " " & sTranslation & """ class=""glossary"">" & sName & "</a>, e il carattere (uno fra quelli inseriti [ !(),.;:>?]) che lo segue, ma non riesco a fare quello che voglio.

    Un aiuto per favore
    Grazie
    Ciao

    il problema è che non riesco sul replace a fargli inserire oltre a questa stringa, <a rel=""external"" indirizzoassoluto" & versione & ".wikipedia.org/wiki/" & Replace(sTranslation," ","_") & """ title=""" & GetTranslation("LANG_VERIFICA_DEFINIZIONE") & " " & sTranslation & """ class=""glossary"">" & sName & "</a> i caratteri che precedono e seguono la suddetta.

    Qualcuno,esperto di regex, può aiutarmi?