ruby - 在 Ruby 正则表达式中否定字符串

标签 ruby regex

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

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

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

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

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

最佳答案

您可以使用否定前瞻。有点像

(pub(?!\/dir)|in)

关于ruby - 在 Ruby 正则表达式中否定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6491951/

相关文章:

Java:替换所有 ' in a string with\'

Java:正则表达式识别句子中的标点符号并删除它们

php - 从更新的命令行输出中获取百分比 - Regex 和 PHP

ruby - stdlib 中的牛顿模块 - 它有什么作用?

javascript - 尝试让 "perfect URL validation regex"在 ruby​​ 和 javascript 中工作

ruby - 为什么 __FILE__ 是大写而 __dir__ 是小写?

ruby - Rails 3 如何处理常量

ruby - 使用 rvm 在 Ubuntu 12.4 中安装 ruby​​ 时缺少 lib 'libruby.so.1.9' 错误

javascript - 如何替换括号外的一个逗号

.net - 为什么 VB.NET 退出此正则表达式线程? "The thread has exited with code 0"