如果缺口是文本文件行x

时间:2016-08-16 19:48:35

标签: irc mirc

我的当前代码存在问题。

on *:TEXT:*text*:#:{ 
  if ($nick isin $read(test.txt, 1)) {
    msg $chan working.
  }
}

我遇到的问题是如果缺口“User1”在test.txt中,并且“User12”键入文本,它将检测到它是因为User1在test.txt中!如果“User1”在第1行,那么我怎么能这样做“User12”不会说工作。

2 个答案:

答案 0 :(得分:2)

问题在于User1包含在第一行User12中,而您正在isin进行搜索。

您可以将正则表达式$+(\b,$nick,\b) \ b 字边界一起使用,以确保搜索到的 $ nick 之前或之后没有文字

on *:TEXT:*text*:#:{ 
  var %line = $read(test.txt, 1)
  if ($regex(%line, $+(\b,$nick,\b))) {
    msg $chan working.
  }
}

答案 1 :(得分:2)

另一种使其有效的方法是使用标识符$ istok ...

on *:TEXT:*text*:#:{ 
if ($istok($nick,$read(test.txt,1),32)) {
msg $chan working.
}
}

因为它只搜索特定字符串的特定标记... $ istok标识符将与 \ b **** \ b 正则表达式边界

进行相同的匹配