否定Ruby正则表达式中的字符串

时间:2011-06-27 11:11:43

标签: ruby regex

我正在寻找一种使用Ruby从URL列表中提取LinkedIn个人资料页面的方法。目前我正在遍历URL并将它们与此正则表达式进行匹配:

/^http:\/\/.+\.linkedin.com\/(pub|in)/

但是,LinkedIn个人资料目录页面的URL如下:

http://www.linkedin.com/pub/dir

,所以我希望避免任何包含pub / dir路径的链接。我知道可以否定Ruby正则表达式中的字符类,例如匹配任何非abc字符的[^ abc]。有没有办法对字符串做同样的事情?即匹配“dir”以外的任何字符序列?

1 个答案:

答案 0 :(得分:7)

您可以使用否定前瞻。像

这样的东西
(pub(?!\/dir)|in)