2016-04-11 11 views
0

その行に複数の単語がある場合、結果を返すテキストファイルを検索しようとしています。私はこのドキュメントで説明されていないと私は成功と様々なループを試してみました。私はよく私はこれを仮定している正規表現を知らないmIRCテキストファイル内の複数の単語を検索

$read(name.txt, w, word1*|*word2*|*word3) 

$read(name.txt, s, word1|word2|word3) 

かさえ、このような何か:私がやりたい何

は、これに似たものですそれを行うことができますが、私はそれを行う方法がわかりません。

+0

正規表現では、これは '/(。*(word1 | word2 | word3)。*){2、} /'であり、mIRCでどのように動作するかわかりません。 – apokryfos

+0

これはmIRCでは動作しませんが、私は遊んでmIRC構文に変換できるかどうかを確認します –

+0

いくつの 'words'がありますか? – rock321987

答えて

0

クライアント自身のドキュメントは良いですが、私はこのサイトもお薦めします:http://en.wikichip.org/wiki/mirc。あなたの問題には素敵な記事があります:http://en.wikichip.org/wiki/mirc/text_files

すべての情報はそこから取られています。それで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がマッチラインを返す識別子です。次の行のパターンの検索を開始するために使用されます。この場合はtestです。

上記のコードでは、$readnは0から開始します。$calc()を使用して1行目から開始します。すべての一致​​は次の行で検索を開始します。 $readと指定された行の後に一致がなくなると、$nullが返され、ループが終了します。

wスイッチが

検索でワイルドカードを使用するために使用されnスイッチは、MSLのコードだったかのように読み込むテキストを評価しないように。ほとんどEVERYの場合、nスイッチを使用する必要があります。あなたが本当にそれを必要とする場合を除いて。 'n'スイッチなしで$ read()識別子を不適切に使用すると、スクリプトが非常に脆弱になる可能性があります。

結果は、後で必要に応じて使用するために、%lineという変数に格納されます。

その後、noopを使用して、必要に応じて正規表現を実行します。この場合、$regml(0)を使用して、の正規表現検索で指定された一致を見つけることができます。 if文を使用すると、2つ以上の一致があるかどうかを確認できます。

この情報は役に立ちましたか?ご不明な点がありましたら、私はより詳しく説明していきます。

EDIT私はコメントすることはできませんcp022 @

ので、私はここに私のコメントを投稿しますので、どのようにテキストファイルからコンテンツを読み込むためのどのような方法でそのヘルプがいますか?

+0

ワウ・マイ・バッドはファイルからの読み込みを読まなかっただけで、「複数の単語をチェックする」と読みました。できるだけ早く私の答えを削除します。ありがとうございました。 – Cp022

関連する問題