русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Классы символов


Дата добавления: 2015-07-09; просмотров: 510; Нарушение авторских прав


Можно производить поиск символов из определённого набора. Например, можно игнорировать точки над ё при поиске, считая ‘е’ и ‘ё’ одинаковыми. Поэтому вместо ‘е’ будем задавать класс, который совпадёт и с ‘е’, и с ‘ё’. Для задания класса нужно перечислить все символы, с которыми может произойти совпадение, и заключить их в квадратные скобки.

 

Пример Js53

 

К примеру, код

var re = /пол[её]т/g;

var st = "полетели в полёт!"

alert(st.match(re));

выведет

 

 

 

Иногда все символы перечислять долго, и можно использовать так называемый диапазон, например,

 

Пример Js52

 

var re = /[0-9A-F]/g;

var st = "Шестнадцатеричная цифра C"

alert(st.match(re));

 

 

 

Здесь re эквивалентно заданию /[0123456789ABCDEF]/g.

 

Пример Js54

 

 

Заметим, что внутри класса набор специальных символов другой. Так, точка соответствует именно точке, и никакому другому символу. Зато ‘-‘ приобретает специальное значение. Чтоб задать в классе -, необходимо либо экранировать его, либо указать в начале или в конце класса, например,

var re = /[+-][0-9]/;

var st = "+3C"

alert(st.match(re));

 

 

 

Квадратные скобки являются метасимволами, и их при поиске надо экранировать.

 

Есть стандартные классы символов, которые задаются последовательностями из обратного слэша и литерального символа. Так, \d – это класс [0-9], \w = [\dA-Za-z_], \s – все пробельные символы, \D – все нецифровые символы, что можно выразить [^0-9] (заметьте, ^ здесь – отрицание класса символов, то есть класс совпадает со всеми символами не входящими в перечисленные), \W = [^\w], \S = [^\s]. Специальный метасимвол нулевой ширины \b совпадает с границей слова, то есть он совпадает с местом между \w и \W.



 

Пример Js55

 

К примеру,

var re = /\b[+-][\dA-F]\b/g;

var st = "+3C-D+12"

alert(st.match(re));

не совпадёт с +3, так как C принадлежит классу \w. Границы между классами, с которыми мог бы совпасть \b, выделены подчёркиванием: “+_3C_-_D_+_12”.

 

 



<== предыдущая лекция | следующая лекция ==>
Метасимволы | Квантификаторы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.148 сек.