Страница 2 из 2

Добавлено: Сб сен 29, 2007 1:52 pm
qwesty#2
http://ru.wikipedia.org/wiki/Регулярные_выражения
Вот вкратце про регулярки.

"Переведу" регулярку "1\[\s?(\d+):\s?(\d+)]" на русский язык

\s - означает ЛЮБОЙ пробелньные символ. Собственно в большинстве случаев это пробел =)
\d - означает ЛЮБУЮ цифру

После этих "атомов" могу идти знаки, обозначающие, в каких кол-вах подряд может встретиться данный "атом":
? - означает, что символ может встертиться НЕ БОЛЕЕ ОДНОГО раза
+ - означает КАК МИНИМУМ ОДИН раз
* - означает ЛЮБОЕ кол-во

То есть \s? - значит, что в этом месте может быть пробел, а может и не быть;
\d+ - значит, что здесь идут 1 или более цифр подряд

Если мы заключим последовательность в скобки ( например (\d+) как здесь), то ТО, что попадет под этот шаблон будет ЗАПОМНЕНО, то есть мы впоследствии сможем узнать, что именно совпало: в макросе это будут переменные $.lastMatchN, где N - это порядковый номер скобок, начиная с 1 (теоретически есть еще и $.lastMatch0, кот. будет содержать всю фразу целиком, но лично я не проверял).

Вот 8) Регулярки - это сила ^_^