ciao,
ho un problema che pensavo di risolvere con le regexp.
dal database prelevo un elenco delle tabelle. a questo punto devo controllare quali tabelle sono contenute nelle diverse pagine della mia applicazione.
con fso recupero ogni pagina ed il relativo contenuto. a questo punto ho scritto la seguente funzione per parsare la pagina:
la funzione riceve in inputcodice:Function EstraiOggettiDb(stringa , stringaPattern) Dim tmpArray, v, rex Set rex = Server.CreateObject("VBScript.RegExp") Set dic = Server.CreateObject("Scripting.Dictionary") dic.CompareMode = vbTextCompare With rex .Multiline = True .Global = True .IgnoreCase = True .pattern = "(" & stringaPattern & ")" Set tmpArray = .Execute(stringa) For Each v In tmpArray If Not dic.Exists(CStr(v)) Then dic.Add CStr(v), v End If Next 'v Set EstraiOggettiDb = dic End With Set dic = Nothing End Function
stringa: il contenuto di una pagina
stringaPattern: un elenco delle tabelle separate da pipeline
e restituisce un dictionary contenente le tabelle utilizzate in quella pagina.
così com'è funzia, ma mi piacerebbe migliorarla un po': avrei bisogno, per ex, che venissero saltate le stringhe commentate tipo:
'sql = "SELECT * FROM miaTabella"
e se vi viene in mente qualcos'altro è ben accetto

Rispondi quotando