如何将Python的正则式转换成Golang正则式?

我想用go写一个获取yyets.com上每天美剧更新列表的脚本,以前用Python实现过,现在想试下用go来写一个,我需要先获取当天的节目的HTML代码,写了一个函数,HTML代码在这里:

http://play.golang.org/p/XPXSXdLEDd

以前Python的正则是:

<td class="(cur|ihbg)">.+?<dt>1号</dt>(.+?)</dl>

我想先获取这一天的所有的<dd>字段。

拿到go里没法用,看了一些资料,仍然不得法,麻烦大家指点下。


我现在把Go的正则表达式改成了这样:

(?s)<td class=\"(cur|ihbg)\">.+?<dt>2号</dt>(.+?)</dl>

前面加了一个(?s),原因是使用.能匹配换行,这样之后,能找到了HTML代码了,但新的问题是这个式子把1号的内容也匹配到了,我想原因应该出在第一个.+?这里了。

下面又怎么做呢?


接着改成了这样:

(?s)<td class=\"(cur|ihbg)\">\s+<dl>\s+<dt>2号</dt>(.+?)</dl>

这样能匹配到了。

阅读 5.3k
1 个回答
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题