我有一个链接到服装网站的列表,我用关键字按性别分类。根据他们的网站,他们都有不同的网址结构,例如…
www.website1.com/shop/womens/tops/tshirt网站
www.website2.com/products/womens-tshirt网站
我不能用。包括?方法,因为不管它是不是。包含?(“男士”)还是包括?(“女性”),它将返回真实。我怎么能有一个方法,只会返回真正的“妇女”(反之亦然)。我怀疑它可能是某种正则表达式,但我对这些相对缺乏经验,不同的url结构使它更加棘手。非常感谢您的帮助,谢谢!
最佳答案
执行此操作的规范正则表达式方法是搜索单词边界:
pry(main)> "foo/womens/bar".match(/\bwomens\b/)
=> #<MatchData "womens">
pry(main)> "foo/womens/bar".match(/\bmens\b/)
=> nil
pry(main)> "foo/mens/bar".match(/\bmens\b/)
=> #<MatchData "mens">
pry(main)> "foo/mens/bar".match(/\bwomens\b/)
=> nil
也就是说,使用前导
"/"
进行拆分或搜索可能就足够了。