Come estrarre un IP dal testo con VBS

May 10

Visual Basic Script eccelle in automatizzando compiti semplici, ma quando arriva il momento per la modifica dei testi complessi, è necessario tirare fuori i grossi calibri. Il linguaggio delle espressioni regolari per la ricerca e la manipolazione di testo in modi sofisticati esiste da decenni ed è stata una parte di script di Visual Basic a partire dagli anni '90. Usando questo linguaggio, si può passare attraverso interi documenti caccia giù duro da trovare le informazioni, come indirizzi IP validi.

istruzione

1 Aprire il Blocco note (o qualsiasi altro editor di testo) ed incolla il seguente testo:

"Questo è un testo che contiene gli indirizzi IP come 194.23.14.34 e 238.12.43.54. Esso contiene anche un indirizzo IP falso, come ad esempio 493.234.534.234, che non sarà rilevata, in quanto non rappresentano reali possibili indirizzi IP."

Questo è utilizzato come testo di prova per lo script. Se funziona correttamente, lo script dovrebbe raccogliere i primi due indirizzi IP ma non l'ultimo. Gli indirizzi IP possono contenere numeri compresi tra 0 e solo 255. Dal momento che gli ultimi usi "493" e "534", che non è valido e non dovrebbe essere rilevato da script.

2 Salvarlo con il nome "textWithIPs.txt."

3 Premere il tasto "Ctrl-n" per aprire un nuovo documento in Blocco note.

4 Digitare quanto segue:

dim UST, TextFile, testo, elenco IPList, re

Const ForReading = 1

set re = Nuovo RegExp

re.Global = True

re.Pattern = "\ b (:( ?: 25 [0-5] |? 2 [0-4] [0-9] |?? [01] [0-9] [0-9]).) {3} (?: 25 [0-5] | 2 [0-4] [0-9] |?? [01] [0-9] [0-9]) \ b "

set FSO = CreateObject ( "Scripting.FileSystemObject")

set file di testo = FSO.OpenTextFile ( "c: \ textWithIPs.txt", ForReading)

text = ""

fare fino textFile.atEndOfStream

text = text & textFile.readLine

ciclo continuo

textFile.close

set elenco IPList = re.Execute (testo)

per ogni IP in elenco IPList

risultato MsgBox

Il prossimo

Salvarlo con il nome "ipExtractor.vbs." Assicurarsi che l'estensione è "VBS" e non "txt".

5 Fai clic su "Start" e "Risorse del computer". Fare doppio clic sul "C: \" drive e fare doppio clic sul file "ipExtractor.vbs." Dopo un breve momento, dovrebbe comparire una serie di finestre di messaggio contenente tutti gli indirizzi IP nel file di testo, ma non gli indirizzi non validi.

Consigli e avvertenze

  • Il cuore dello script è lo script espressione "re.Pattern" regolare. Questo script cerca solo il testo che si inserisce il modello di un indirizzo IP valido. È per questo che gli indirizzi IP non validi inclusi nel testo non vengono recuperati. Le espressioni regolari sono un argomento complesso a sé stante, ma si può leggere di più sul sito espressione regolare nella sezione Risorse.