Regex mirc情况

时间:2013-11-24 03:55:55

标签: regex sockets mirc

您好我有一个脚本但是当我尝试捕获我需要的信息时我不能这是我想要的html代码的一部分:

<div class="pretty-container " >
2100.0
  </div>

所以在我的socket上尝试这样做以获得2100.0(2100.0它是一个可变数字):

on *:sockread:foo: {
 var %read
 sockread %read
 if ($regex(%read,<div class="pretty-container " >(.*)<\/div>)) {
    echo -s price founded: $regml(1)
    ; - here i try to catch the 2100.0 number
    sockclose $sockname
 }
}

但是这不起作用我相信这是因为数字而且在另一条线上。请帮忙解决这个问题吗?

先谢谢,

卡洛斯

1 个答案:

答案 0 :(得分:1)

您使用的sockread命令一次只能读取一行。看到您正在寻找的数据分布在多行上,您的正则表达式永远不会找到匹配。

对此的解决方案是简单地检查当前行是否包含<div class="pretty-container " >,如果是,则将下一行的数据存储在另一个变量中:

  var %read, %number
  sockread %read
  if (<div class="pretty-container " > isin %read) {
    sockread %number
    echo -s Number: %number
    sockclose $sockname
  }