Сайт спутникового перехвата REGEX

Содержание

Спутниковое оборудование
Установка антены
Азбука SkyNet V2
Статьи
Downolods




Яндекс.Погода

REGEX

REGEX

 

Набор шаблонов для анализа и выборки алгоритмом нужных типов файлов

 

структура файла regex.txt

 

1. Анализ побайтно

 

Пример файла wmv http://en.wikipedia.org/wiki/Windows_Media_Video

открываем в TotalСommander или FAR файл по F3 в HEX режиме и смотрим заголовок файла

 

Код:

в виде символов

80C000 b ^0& wmv;VIDEO;ALL

 

или побайтно в 16-ричном формате

80C000 b \x30\x26\xB2\x75\x8E\x66\xCF\x11\xA6\xD9\x00\xAA wmv;VIDEO;ALL

  ^    ^                             ^                           ^     ^

  1    2                             3                           4     5

 

1 - цвет файла в RGB (80C000)
2 - символ b - определение будет побайтно
3 - характерный кусок заголовка файла (сигнатура). Могут быть не первыми байтами файла, но из потока гарантированно загружается только 128 байт. Можно писать как в виде символов так и побайтно в HEX формате разделяя символом \, предпочтительнее и более точный - последний. Прежде чем добавить собственный формат, проанализируйте несколько файлов, найдите в заголовке набор одинаковых байт (читай символов)...
4 - расширение файла.
5 - группы в которые входит файл (перечислять через символ ";")

 

2. Анализ на MIME-тип (менее эффективен)

 

символ t - проверка на MIME-тип, что в некоторой степени имеет отношение к расширению файла, хотя абсолютно жесткой связи тут нет (для одного расширения часто существует несколько MIME-типов, и наоборот один MIME-тип может охватывать сразу несколько файловых расширений).

 

Цитата:

80C000 t ^video/x-ms-wmv wmv;VIDEO;ALL

80C000 t ^video/x-ms-asf wmv;VIDEO;ALL

80C000 t ^video/wmv wmv;VIDEO;ALL

 

Подробнее о MIME типах
http://html.manual.ru/book/info/mimetypes.php
http://www.chem.msu.su/rus/wwwbook/mime.html
http://ru.wikipedia.org/wiki/MIME

Более сложные конструкции

в zip, rar, ace, 7z и uha архивах ищит следующие расширения типов файлов, при условии что имена файлов в архиве не шифрованы...
все архивы получат расширение rar, при открытии архивов в TotalCommander тип архива автоматически определяется по заголовку, проблем с открытием и распаковкой быть не должно...

Код:

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(jpg|jpeg) jpg.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.mp3 mp3.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.mp4 mp4.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.ogg ogg.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.wmv wmv.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.avi avi.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.divx divx.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(mpg|mpeg) mpg.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.vob vob.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.mov mov.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.iso iso.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.mdf mdf.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.nrg nrg.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.pdf pdf.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.djvu djvu.rar;All;FAV

 

можно сгруппировать таким образом

Код:

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(jpeg|jpg) JPG.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(mp3|ogg|wma) MP3.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(mp4|wmv|avi|divx|mpg|mpeg|mov|vob) VID.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(iso|mdf|nrg) IMG.rar;All;FAV

008000 b ^(PK|Rar!|.......\*\*ACE|7z|UHA).*\.(pdf|djvu) BOOK.rar;All;FAV

 

Выборка mp3 по жанрам либо по исполнителю, применимо только к mp3 с ID3v2 так как ID3v1 хранит тэг в конце файла

виды жанров музыки можно посмотреть в winamp, открыв свойства тэга в любом mp3 файле

 

Код:

 

Блокирование файлов

 

Код:

 

Выборка по ключевым словам в архивах, опять же при условии что имена файлов в архиве не шифрованы

 

Код:

 

Выборка фотографий с тэгом Exif

 

Код:

 

Документации по регулярным выражениям в интернете полно, ищите по словам "regex" или "regular expressions"

Например http://ru.wikipedia.org/wiki/Регулярные_выражения

 

Далее описаны несколько элементов, часто употребляемых в регулярных выражениях.

 

Применяемые для задания соответствия символу:

. - соответствует любому одиночному символу (например выражение ".arry" может соотвествовать и Larry и Barry и др);

\d - соответствует любой цифре (например выражение "\d\d" соотвествует любому числу от 0 до 99);

[набор_символов] - задает соответствие любому символу из указанного набора_символов (например "[a-f0-9]");

[^набор_символов] - задает соответствие любому символу, за исключением тех, что входят в указанный набор_символов (например "[^k-z]" соответсвует любой букве от k до z);

\xn - где n - шестнадцатеричное число, обязательно состоящее из двух цифр. Соответствует символу с шестнадцатеричным кодом n (например, \x41 эквивалентно "A");

 

Специальные символы, которые позволяют задавать соответствие не одиночному символу, а некоторому количеству символов:

* - соответствует повторению предшествующего символа ноль и более раз. Например, «go*gle» соответствует ggle, gogle, google, gooooooogle и др;

? - соответствует повторению предшествующего символа ноль или один раз. Например, «colou?r» соответствует и color, и colour.

+ - соответствует повторению предшествующего символа один и более раз. Например, «to+» соответствует to и too, но не tooo и не t.

{n} - где n это положительное целое число. Соответствует точно n-ному количеству повторений. Например, "o{2}" не соответствует 'o' в "Bob", но соответствует 2-м символам 'o' в "сool".

{n,m} - где n и m это положительные целые числа, причем n < m. Соответствует хотя бы n-ому, но не более чем m-ому числу повторений. Например, "o{1,3}" соответствует первым трем 'o' в "fooooood".

 

Применяются также спецсимволы, указывающие на допустимое положение найденного соответствия:

^ - указывает что найденный текст должен быть в начале строки;

$ - указывает что найденный текст должен быть в конце строки.

 

Другие полезные символы и комбинации:

Символ вариации '|' используют для того чтобы допустить выбор между двумя и более вариантами. Например, "PK|Rar!" соответствует "PK" или "Rar!";

(?i) - указывает что последующие конструкции регулярного выражения будут нечувствительны к регистру букв.

 

 

Сайт создан в системе uCoz
Спутниковое оборудование Установка антены Азбука SkyNet V2 Статьи Downolods

Этот сайт создан при помощи программы Globus SiteBuilder
Этот сайт создан при помощи программы Globus SiteBuilder
Для контактов oleg_blag@mail.ru
Сайт создан в системе uCoz