la domanda è ma regexp non se le cag.... ??
Io non ho mai usato il Componente
gb.pcre per le espressioni regolari, quindi non so dirti.
Ad ogni modo, gestire stringhe
regolari è la cosa
più semplice che esista.
altra domanda come faccio a dirgli fino a fine riga nel pattern dello scan ?
esempio
volendo perndere l ip di questa stringa
Nmap scan report for 192.168.1.101 metterò (*for *)e poi cosa metto ?? per dirgli che basta catturare ??
Il secondo asterisco ti
raccoglie tutti i caratteri che vengono dopo il carattere dello
spazio, che segue la parola "
for", fino alla fine della stringa passata nel primo parametro attuale.
Se tu vuoi fermare la raccolta al primo carattere
escape di ritorno a capo (espresso nel C con il valore esadecimale "
0x0A" e in Gambas con "
&h0A"), devi
esplicitarlo nel modello-stringa, posto nel secondo parametro attuale.
Ciò però, come sappiamo, non è sufficiente, poiché dobbiamo nel secondo parametro di
Scan( ) in fine aver raccolto l'
intera stringa. Pertanto, avremo cura di aggiungere un asterisco dopo il carattere
escape di fine riga-a capo ("\n").
Esempio pratico:
Public Sub Main()
Print Scan("Nmap scan report for 192.168.1.101\n", "*for *\n*")[1]
End
(Ciò che a noi interessa, è il numero IP, che viene salvato dalla funzione
Scan( ) nel secondo asterisco, il quale corrisponde all'indice 1 del vettore ritornato dalla funzione.)