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

sbr*_*ian 1 ruby regex

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

%r{GET /ongoing/When/\d\d\dx/(\d\d\d\d/\d\d/\d\d/[^ .]+) }
Run Code Online (Sandbox Code Playgroud)

我一直在使用正则表达式,但我不确定"."的重点.是.它似乎匹配任何不是空间的东西,但无论如何[^]会这样做.

当我第一次看到它时,它看起来像是除了可能的换行符之外什么都不匹配.

任何人都可以解释这个表达式的行为吗?

Mar*_*ers 7

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