ruby-on-rails - 查找字符串中的确切单词

标签 ruby-on-rails ruby regex ruby-on-rails-3

我有一个服装网站链接列表,我使用关键字按性别对这些网站进行了分类。根据它们所针对的网站,它们都有不同的 URL 结构,例如...

www.website1.com/shop/womens/tops/tshirt

www.website2.com/products/womens-tshirt

我不能使用 .include?方法,因为无论是.include?("mens") 还是.include?("womens"),它都会返回true。我怎么能有一个只对“女性”返回 true 的方法(反之亦然)。我怀疑它可能必须是某种正则表达式,但我对这些比较缺乏经验,而且不同的 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

也就是说,拆分或使用前导 "/" 进行搜索可能就足够了。

关于ruby-on-rails - 查找字符串中的确切单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8745955/

相关文章:

ruby-on-rails - 使用 Solr (Sunspot) 索引整数列表

ruby-on-rails - 为什么在 rails CLI 中我经常看到 "←[32m.←[0m"

java - 托管使用Java和Rails代码的Web应用程序?

java - 负向回顾 : How can I stop matches when the suffix is repeated?

mysql - Rails 十进制迁移生成整数列

ruby - 右键单击某个元素时出现 "uninitialized constant Selenium::WebDriver::DriverExtensions::HasInputDevices (NameError)"错误

ruby-on-rails - rails partial 不处理本地人

ruby - 如何编写 RSpec 测试以将字符串与其预期的子字符串进行比较?

mysql - 正则表达式获取单词中的重复字符

jquery - 在 jQuery 验证引擎中添加自定义正则表达式验证