Регулярные выражения

Содержание

Регулярные выражения используются в фильтрации по именам файлов как способ фильтрации файлов на стороне клиента или сервера.

В данной статье рассматриваются особенности использования расширенных регулярных выражений в стандарте POSIX. Более подробно о регулярных выражениях Вы можете узнать здесь.

Отметим, что, выбрав "Элементы, соответствующие ничему из следующего" как условие фильтра для файлов, Вы сможете выбирать те файлы, которые соответствуют указанным критериям.

Совпадение регулярных выражений в названии файла

Без привязки к началу или концу имени файла будут отображаться совпадения в середине имени файла. Смотрите символы "^" и "$".

Таким образом, если регулярное выражение "х", то совпадет любое имя файла, которое содержит символ "х" (в начале, середине или конце).

Обычные символы

Все символы, не перечисленные далее, полностью присутствуют в имени файла. Так, регулярное выражение "foo" соответствует "foobar", "barfoo" и "quxfoobaz".

Символ "."

Символ "." обозначает любой отдельный символ, а потому "d.t" найдет как "dat", так и "dot".

Символ "*"

Символ "*" соответствует любому количеству предшествующих символов от нуля или более раз. Таким образом, "foo.*bar" соответствует как "fooquxbar", так и "foobar". Регулярное выражение "ge*k" найдет совпадения в "gk", "gek", "geek" и "geeeeeeeeeeeeeeeek".

Символ "?"

Символ "?" обозначает количество совпадений 0 или 1 предшествующих символов. Так, регулярное выражение "gee?k" найдет как "gek", так и "geek", но, ни в коем случае не "gk" или "geeek".

Символ "^"

Символ "^" обозначает, что в начале обязательно стоят следующие за ним символы. Таким образом, "^x" соответствует всем файлам, имя которых начинается с буквы "x".

Символ "$"

Символ "$" обозначает, что в конце имени файла обязательно стояли, предшествующие ему символы. Таким образом, выражение "x$" обозначает все файлы, имена которых оканчиваются буквой "x".

Символ "\"

Данный символ служит для обозначения самих метасимволов, как обычных символов текста. Так же, все метасимволы надо предварять обратным слешем для обозначения самих себя. Например, если Вы хотите произвести фильтрацию и получить файлы, имена которых начинаются с точки, то это можно сделать, используя регулярное выражение "^\.". Если же Вы указываете только "^.", то совпадут все файлы, которые начинаются с любого одиночного символа.