相同的匹配
我现在的代码有问题。
on *:TEXT:*text*:#:{
if ($nick isin $read(test.txt, 1)) {
msg $chan working.
}
}
我遇到的问题是,如果nick"User1"在test.txt中,而"User12"类型文本,它将检测到User1在test.txt中!如果"User1"在第1行,我如何使"User12"不会说工作
您的问题是User1
在第一行包含User12
,而您正在通过isin
进行搜索。
您可以使用regex $+(b,$nick,b)
与b字边界,以确保在搜索$nick
on *:TEXT:*text*:#:{
var %line = $read(test.txt, 1)
if ($regex(%line, $+(b,$nick,b))) {
msg $chan working.
}
}
另一种方法是使用标识符$istok…
on *:TEXT:*text*:#:{
if ($istok($nick,$read(test.txt,1),32)) {
msg $chan working.
}
}
因为它只会在特定的字符串上搜索一个特定的token…$istok标识符将做与b****b Regex边界