Ruby中的正则表达式

4

http://www.example.com/books?_pop=mheader

如何编写正则表达式以匹配此URL和任何具有“books”作为模式匹配之一的URL?此站点具有图书类别和各种其他子类别。如何遍历所有书籍URL进行搜索?

require 'anemone'
Pattern = %r[(\/books)*]
Anemone.crawl("http://www.example.com/") do |anemone|
  anemone.on_pages_like(Pattern) do |page|
    puts page.url
  end
end

如果你正在使用%r[...],那么你就不需要在斜杠上加反斜杠。另外请注意,像你的模式这样的常量应该是ALL_CAPS,而类应该是MixedCase - tadman
2个回答

3

我更新了rubular示例以使正则表达式匹配该链接。 - mguymon

1

匹配您的URL中/books的模式应该只是"/books"

这是一个很好的网站http://regexpal.com,可以测试您的正则表达式,以确保您的代码至少在这一部分是正确的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接