Ruby in Tim Bray的Wide Finder基准测试(http://wikis.sun.com/display/WideFinder/The+Benchmark)有这一行:
%r{GET /ongoing/When/\d\d\dx/(\d\d\d\d/\d\d/\d\d/[^ .]+) }
我一直在使用正则表达式,但我不确定“。”的重点。是。它似乎匹配任何不是空格的东西,但[^]无论如何都会这样做。
当我第一次看到它时,它看起来像是除了可能的换行符之外什么都不匹配。
有人可以解释这个表达式的行为吗?
答案 0 :(得分:7)
[^ .]
表示匹配除空格或文字句点之外的任何单个字符。在方括号内时,句点没有特殊含义。