ruby - 负括号表达式中的点运算符

标签 ruby regex

Tim Bray 的 Wide Finder 基准测试 (http://wikis.sun.com/display/WideFinder/The+Benchmark) 中的 Ruby 有这一行:

%r{GET /ongoing/When/\d\d\dx/(\d\d\d\d/\d\d/\d\d/[^ .]+) }

我已经使用正则表达式很长时间了,但我不确定“.”的意义何在。是。它似乎匹配任何不是空格的东西,但 [^] 无论如何都会这样做。

当我第一次看到它时,我觉得它除了可能会换行外什么都不匹配。

谁能解释这个表达式的行为?

最佳答案

[^ .] 表示匹配除空格或文字句点之外的任何单个字符。句点在方括号内时没有特殊含义。

关于ruby - 负括号表达式中的点运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1956092/

相关文章:

ruby-on-rails - 安装 libapache2-mod-passenger 软件包后是否需要运行 Passenger-install-apache2-module ?

java - 带反斜杠的输入与正则表达式不匹配

java - 日期时间格式的正则表达式 : "Wednesday, August 08, 2012 9:38:31.113 AM"

javascript - 如何在JavaScript中实现类似Eclipse "Open Resource"的搜索

javascript - 根据单选按钮值在页面加载时显示/隐藏 div - Jquery 和 Ruby on Rails 简单表单

ruby-on-rails - 是否有替代方法 Array#product 的使用方法?

javascript - 将变量传递给自定义模板 - rails

html - 从 Nokogiri 文档中提取不在括号内的链接

php - 正则表达式 - 第一个随机字符等于第二个。

python - 用大括号包裹数字的正则表达式?