Die Dokumentation im Client selbst ist gut, aber ich empfehle auch diese Seite: http://en.wikichip.org/wiki/mirc. Und mit Ihrem Problem gibt es einen schönen Artikel: http://en.wikichip.org/wiki/mirc/text_files
Alle Informationen werden von dort übernommen. Also Credits für Wikichip.
alias testForString {
while ($read(file.txt, nw, *test*, $calc($readn + 1))) {
var %line = $v1
; you can add your own words in the regex, seperate them with a pipe (|)
noop $regex(%line,/(word1|word2|word3|test)/))
echo -a Amount of results: $regml(0)
}
}
$readn
ist eine Kennung, die die Linie zurückkehrt, dass $read()
abgestimmt. Es wird verwendet, um nach dem Muster in der nächsten Zeile zu suchen. Was ist in diesem Fall test
.
Im obigen Code beginnt $readn
bei 0. Wir verwenden $calc()
, um bei Zeile 1 zu beginnen. Jedes Spiel $read()
beginnt mit der Suche in der nächsten Zeile. Wenn nach der angegebenen Zeile keine weiteren Übereinstimmungen mehr vorhanden sind, wird $read
$null
zurückgegeben - die Schleife wird beendet.
Der w
Schalter wird ein Platzhalter bei der Suche verwenden
Der n
Schalter den Text verhindert Auswertung liest, als ob es mSL Code war. In fast EVERY Fall müssen Sie den n-Schalter verwenden. Außer wenn du es wirklich brauchst. Unsachgemäße Verwendung der $ read() - Kennung ohne den "n" -Schalter könnte Ihr Skript sehr verwundbar machen.
Das Ergebnis wird in einer Variablen namens %line
gespeichert, um es später zu verwenden, falls Sie es benötigen.
Danach verwenden wir eine noop
, um eine Regex nach Ihren Bedürfnissen auszuführen. In diesem Fall können Sie $regml(0)
verwenden, um den Betrag der Übereinstimmungen zu finden, die in Ihrer Regex-Suche angegeben sind. Mit einer if-Anweisung können Sie sehen, ob es zwei oder mehr Übereinstimmungen gibt.
Ich hoffe, Sie finden dies hilfreich, wenn es etwas unklar ist, werde ich versuchen, es besser zu erklären.
EDIT
@ cp022 kann ich nicht kommentieren, so werde ich meinen Kommentar hier schreiben, so wie kommt, dass Hilfe in keiner Weise Inhalt aus einer Textdatei lesen?
Als regex wäre dies etwas wie '/ (* (word1 | word2 | word3). *) {2,} /', nicht sicher, wie das in mIRC funktionieren würde. – apokryfos
das funktioniert nicht in mIRC, aber ich werde herumspielen und sehen, ob ich das in mIRC-Syntax konvertieren kann –
Wie viele Wörter sind da? – rock321987