П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4072 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6722 раз(а).

Учебник HTML.
Просмотров 3693 раз(а).

Руководство по PHP5.
Просмотров 5966 раз(а).

Хостинг через призму DNS.
Просмотров 4773 раз(а).

Подборка текстов стандартных документов.
Просмотров 56218 раз(а).

Учебник PHP - Самоучитель
Просмотров 3665 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8250 раз(а).

Внешние атаки...
Просмотров 4517 раз(а).

Учебник PHP.
Просмотров 3154 раз(а).

SSI в примерах.
Просмотров 161 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство пользователя для GNU Awk

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

4.5 Зависимость от регистра при определении соответствия

Нормально регистр учитывается в регулярных выражениях при соответствии простых символов (т.е. не метасимволов) и внутри символьных множеств. Так, `w' в регулярном выражении соответствует только `w' нижнего регистра и не соответствует верхнерегистровому `W'.

Простейший путь для независимого от регистра соответствия есть использование символьного списка: `[Ww]'. Однако, это может оказаться громоздким, если это нужно часто; и это может затруднить прочтение регулярного выражения. Имеются две альтернативы для упрощения.

Один путь устроить нечувствительное к регистру соответствие в некоторой точке программы есть конвертирование данных к одному регистру с помощью встроенных функций tolower или toupper (их мы еще не рассматривали; см. раздел 12.3 [Встроенные функции для действий с цепочками], стр. 137). например, tolower($1) ~ /foo/ - ... "" переводит первое поле в нижний регистр перед проверкой соответствия с ним. Это работает в любой реализации awk, соответствующей POSIX.

Другой метод, специальный для gawk, состоит в установке переменной IGNORECASE на ненулевое значение (см. Главу 10 [Встроенные переменные], стр. 115). Когда IGNORECASE не равна нулю, все операции над regexp и цепочками игнорируют регистр. Изменяя динамически значение IGNORECASE, можно управлять чувствительностью к регистру во время исполнения программы. По умолчанию регистр учитывается, потому что IGNORECASE (подобно большинству переменных) инициализируется нулем.


x = "aB" if (x ~ /ab/) ... # этот тест не сработает

IGNORECASE = 1 if (x ~ /ab/) ... # теперь пройдет успешно

В общем случае нельзя использовать IGNORECASE, чтобы сделать некоторые правила чувствительными к регистру, а другие нечувствительными, потому что нет способа установить IGNORECASE только для образца конкретного правила. Чтобы сделать это, нужно использовать список символов или tolower. Но вы можете динамической установкой или сбросом переменной IGNORECASE включать и выключать чувствительность к регистру для всех правил вместе.

IGNORECASE может быть установлена из командной строки или правилом BEGIN (см. раздел 14.2 [Остальные аргументы командной строки ], стр. 165; также см. раздел 8.1.5.1 [Действия при запуске и очистке], стр. 100). Установка IGNORECASE из командной строки есть способ сделать программу чувствительной к регистру без редактирования ее.

До версии 3.0 gawk значение IGNORECASE влияло только на операции regexp. Оно не действовало на сравнение цепочек по `==', `!=', и т.д. Начиная с версии 3.0, как regexp операции, так и операции сравнения цепочек подчинены значениям IGNORECASE.

Начиная с версии gawk 3.0, эквивалентность символов верхнего и нижнего регистров относится к множеству символов ISO-8859-1 (ISO Latin-1). Это множество есть супермножество традиционных символов 128 ASCII, которое также содержит некоторое количество символов, используемых в европейских языках.

Значение IGNORECASE безразлично, если gawk действует в режиме эмуляции (см. раздел 14.1 [Параметры командной строки], стр. 161). Регистр всегда учитывается в режиме эмуляции.

Назад | Вперед
Содержание (общее) | Содержание раздела



Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru