Точечный оператор в выражении отрицательной скобки - PullRequest
1 голос
/ 24 декабря 2009

В тесте широкого поиска Ruby in Tim Bray (http://wikis.sun.com/display/WideFinder/The+Benchmark) есть эта строка:

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

Я давно использую регулярные выражения, но я не уверен, в чем смысл "." является. Похоже, он подходит для всего, что не является пробелом, но [^] все равно сделает это.

Когда я впервые посмотрел на него, мне показалось, что он будет совпадать ни с чем, кроме, возможно, разрыва строки.

Кто-нибудь может объяснить поведение этого выражения?

1 Ответ

7 голосов
/ 24 декабря 2009

[^ .] означает совпадение с любым отдельным символом, кроме пробела или буквального периода. Период не имеет особого значения в квадратных скобках.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...