mIRC 在文本文件中搜索多个单词
mIRC Search for multiple words in text file
我正在尝试搜索一个文本文件,如果在该行中找到多个单词,该文件将 return 一个结果。我没有在文档中看到这个解释,我尝试了各种循环但没有成功。
我想做的是类似这样的事情:
$read(name.txt, s, word1|word2|word3)
甚至是这样的:
$read(name.txt, w, word1*|*word2*|*word3)
我不太了解 RegEx,所以我假设这可以用它来完成,但我不知道该怎么做。
客户端中的文档很好,但我也推荐这个站点:http://en.wikichip.org/wiki/mirc. And with your problem there is a nice article : 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
是 return 与 $read()
匹配的行的标识符。它用于在下一行开始搜索模式。在这种情况下是 test
。
在上面的代码中,$readn
从 0 开始。我们使用 $calc()
从第 1 行开始。每个匹配项 $read()
都会从下一行开始搜索。当指定的行之后没有更多匹配时 $read
将 return $null
- 终止循环。
w
开关用于在您的搜索中使用通配符
n
开关阻止评估它读取的文本,就好像它是 mSL 代码一样。在几乎 EVERY 的情况下,您必须使用 n 开关。除非你真的需要它。在没有 'n' 开关的情况下不正确地使用 $read() 标识符可能会使您的脚本极易受到攻击。
结果存储在名为 %line
的变量中,以备日后需要时使用。
之后我们使用 noop
来执行正则表达式来满足您的需求。在这种情况下,您可以使用 $regml(0)
来查找在正则表达式搜索中指定的 数量 的匹配项。使用 if 语句,您可以查看是否有两个或更多匹配项。
希望对您有所帮助,如果有任何不清楚的地方,我会尽力解释得更好。
编辑
@cp022
我无法发表评论,所以我会 post 在这里发表评论,那么这对从文本文件中读取内容有何帮助?
我正在尝试搜索一个文本文件,如果在该行中找到多个单词,该文件将 return 一个结果。我没有在文档中看到这个解释,我尝试了各种循环但没有成功。
我想做的是类似这样的事情:
$read(name.txt, s, word1|word2|word3)
甚至是这样的:
$read(name.txt, w, word1*|*word2*|*word3)
我不太了解 RegEx,所以我假设这可以用它来完成,但我不知道该怎么做。
客户端中的文档很好,但我也推荐这个站点:http://en.wikichip.org/wiki/mirc. And with your problem there is a nice article : 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
是 return 与 $read()
匹配的行的标识符。它用于在下一行开始搜索模式。在这种情况下是 test
。
在上面的代码中,$readn
从 0 开始。我们使用 $calc()
从第 1 行开始。每个匹配项 $read()
都会从下一行开始搜索。当指定的行之后没有更多匹配时 $read
将 return $null
- 终止循环。
w
开关用于在您的搜索中使用通配符
n
开关阻止评估它读取的文本,就好像它是 mSL 代码一样。在几乎 EVERY 的情况下,您必须使用 n 开关。除非你真的需要它。在没有 'n' 开关的情况下不正确地使用 $read() 标识符可能会使您的脚本极易受到攻击。
结果存储在名为 %line
的变量中,以备日后需要时使用。
之后我们使用 noop
来执行正则表达式来满足您的需求。在这种情况下,您可以使用 $regml(0)
来查找在正则表达式搜索中指定的 数量 的匹配项。使用 if 语句,您可以查看是否有两个或更多匹配项。
希望对您有所帮助,如果有任何不清楚的地方,我会尽力解释得更好。
编辑
@cp022 我无法发表评论,所以我会 post 在这里发表评论,那么这对从文本文件中读取内容有何帮助?