🗊 Презентация Регулярные выражения. Библиотека regex

Нажмите для полного просмотра!
Регулярные выражения. Библиотека regex, слайд №1 Регулярные выражения. Библиотека regex, слайд №2 Регулярные выражения. Библиотека regex, слайд №3 Регулярные выражения. Библиотека regex, слайд №4 Регулярные выражения. Библиотека regex, слайд №5 Регулярные выражения. Библиотека regex, слайд №6 Регулярные выражения. Библиотека regex, слайд №7 Регулярные выражения. Библиотека regex, слайд №8 Регулярные выражения. Библиотека regex, слайд №9 Регулярные выражения. Библиотека regex, слайд №10 Регулярные выражения. Библиотека regex, слайд №11 Регулярные выражения. Библиотека regex, слайд №12 Регулярные выражения. Библиотека regex, слайд №13 Регулярные выражения. Библиотека regex, слайд №14 Регулярные выражения. Библиотека regex, слайд №15

Вы можете ознакомиться и скачать презентацию на тему Регулярные выражения. Библиотека regex. Доклад-сообщение содержит 15 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


Программирование в среде UNIX Регулярные выражения Библиотека regex
Описание слайда:
Программирование в среде UNIX Регулярные выражения Библиотека regex

Слайд 2


regex Регулярные выражения являются способом описания текстовых шаблонов для сопоставления. Библиотека regex предназначена для работы с регулярными...
Описание слайда:
regex Регулярные выражения являются способом описания текстовых шаблонов для сопоставления. Библиотека regex предназначена для работы с регулярными выражениями на Си. POSIX определяет два вида регулярных выражений: базовый и расширенный. Программы типа grep, sed и строчный редактор ed используют базовые регулярные выражения. Программы типа egrep и awk используют расширенные регулярные выражения.

Слайд 3


regex Функции входящие в библиотеку regex дают вам возможность использовать в своих программах любой вид int regcomp(regex_t *preg, const char...
Описание слайда:
regex Функции входящие в библиотеку regex дают вам возможность использовать в своих программах любой вид int regcomp(regex_t *preg, const char *regex, int cflags); int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags); size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size); void regfree(regex_t *preg);

Слайд 4


regex Чтобы сопоставить регулярное выражение, нужно сначала откомпилировать строчную версию регулярного выражения. Компиляция преобразует регулярное...
Описание слайда:
regex Чтобы сопоставить регулярное выражение, нужно сначала откомпилировать строчную версию регулярного выражения. Компиляция преобразует регулярное выражение во внутренний формат. Затем откомпилированная форма исполняется для строки для проверки, совпадает ли она с первоначальным регулярным выражением.

Слайд 5


regex int regcomp(regex_t *preg, const char *regex, int cflags) Компилирует регулярное выражение regex во внутреннее представление, сохраняя его в...
Описание слайда:
regex int regcomp(regex_t *preg, const char *regex, int cflags) Компилирует регулярное выражение regex во внутреннее представление, сохраняя его в структуре regex_t, на которую указывает preg cflags контролирует процесс компиляции, ее значение равно 0 или побитовому ИЛИ одного или более флагов из табл

Слайд 6


regex int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) Выполняет откомпилированное регулярное...
Описание слайда:
regex int regexec(const regex_t *preg, const char *string, size_t nmatch, regmatch_t pmatch[], int eflags) Выполняет откомпилированное регулярное выражение в *preg в строке string eflags контролирует способ выполнения; ее значение равно 0 или побитовому ИЛИ одного или более флагов из табл Флаги REG_NEWLINE, REG_NOTBOL и REG_NOTEOL взаимодействуют друг с другом.

Слайд 7


regex Когда в cflags не включен REG_NEWLINE, символ конца строки действует в качестве обычного символа. С ним может быть сопоставлен метасимвол '.'...
Описание слайда:
regex Когда в cflags не включен REG_NEWLINE, символ конца строки действует в качестве обычного символа. С ним может быть сопоставлен метасимвол '.' (любой символ), а также дополненные списки символов ('[^...]'). При этом $ не сопоставляется немедленно с началом вставленного символа новой строки, а ^ не сопоставляется немедленно с его концом. Когда в eflags установлен REG_NOTBOL, оператор ^ не соответствует началу строки. Это полезно, когда параметр string является адресом символа в середине сопоставляемого текста. Сходным образом, когда в eflags установлен REG_NOTEOL, оператор $ не соответствует концу строки.

Слайд 8


regex Когда в cflags включен REG_NEWLINE, то: Символ конца строки не соответствует '.' или дополненному списку символов. Оператор ^ всегда...
Описание слайда:
regex Когда в cflags включен REG_NEWLINE, то: Символ конца строки не соответствует '.' или дополненному списку символов. Оператор ^ всегда соответствует положению непосредственно за вставленным символом конца строки независимо от установки REG_BOL. Оператор $ всегда соответствует положению непосредственно перед вставленным символом конца строки независимо от установки REG_EOL. Когда вы осуществляете построчный ввод/вывод, как в случае с grep, можно не включать REG_NEWLINE в cflags. Если в буфере несколько строк, и каждую из них нужно рассматривать как отдельную, с сопоставлением ^ и $, тогда следует включить REG_NEWLINE.

Слайд 9


regex size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) Преобразует ошибку, возвращенную regcomp() или regexec(), в...
Описание слайда:
regex size_t regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) Преобразует ошибку, возвращенную regcomp() или regexec(), в удобочитаемую строку.

Слайд 10


regex void regfree(regex_t *preg) Освобождает динамическую память, используемую откомпилированным регулярным выражением в *preg.
Описание слайда:
regex void regfree(regex_t *preg) Освобождает динамическую память, используемую откомпилированным регулярным выражением в *preg.

Слайд 11


regex regcomp() и regexec() возвращают 0, если они успешны, или определенный код ошибки, если нет.
Описание слайда:
regex regcomp() и regexec() возвращают 0, если они успешны, или определенный код ошибки, если нет.

Слайд 12


Пример #include #include #include #include #include char* paste_env(char *str) { char *env; char buf[256]; regex_t preg; regmatch_t pm; char *newstr;...
Описание слайда:
Пример #include #include #include #include #include char* paste_env(char *str) { char *env; char buf[256]; regex_t preg; regmatch_t pm; char *newstr; int len;

Слайд 13


Пример regcomp( &preg, "\\$\\w\\+\\b", REG_ICASE ); while ( regexec(&preg, str, 1, &pm, REG_NOTBOL) == 0 ) { memset(buf, '\0', 256);...
Описание слайда:
Пример regcomp( &preg, "\\$\\w\\+\\b", REG_ICASE ); while ( regexec(&preg, str, 1, &pm, REG_NOTBOL) == 0 ) { memset(buf, '\0', 256); strncpy(buf,&str[pm.rm_so]+1,(pm.rm_eo-pm.rm_so-1 < 256)?pm.rm_eo-pm.rm_so-1:254); env = getenv(buf); // check for empty len = strlen(str)-strlen(buf)+strlen(env); newstr=malloc(len); memset(newstr, '\0', len); strncpy(newstr,str,pm.rm_so); strncat(newstr,env,strlen(env)); strncat(newstr,&str[pm.rm_eo],strlen(str)-pm.rm_eo); str = newstr; } regfree(&preg); return newstr; }

Слайд 14


Пример int main () { printf(paste_env("$HOME text $PWD $HOME\n")); return 0; }
Описание слайда:
Пример int main () { printf(paste_env("$HOME text $PWD $HOME\n")); return 0; }

Слайд 15


Дополнительные материалы
Описание слайда:
Дополнительные материалы



Похожие презентации
Mypresentation.ru
Загрузить презентацию