Книга: JavaScript. Подробное руководство, 6-е издание

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

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

Отдельные символы литералов могут объединяться в классы символов путем помещения их в квадратные скобки. Класс символов соответствует любому символу, содержащемуся в этом классе. Следовательно, регулярное выражение /[abc]/ соответствует одному из символов а, b или с. Могут также определяться классы символов с отрицанием, соответствующие любому символу, кроме тех, которые указаны в скобках. Класс символов с отрицанием задается символом ~ в качестве первого символа, следующего за левой скобкой. Регулярное выражение /[~abc]/ соответствует любому символу, отличному от а, b или с. В классах символов диапазон символов может задаваться при помощи дефиса. Поиск всех символов латинского алфавита в нижнем регистре осуществляется посредством выражения /[a-z]/, а любую букву или цифру из набора символов Latin можно найти при помощи выражения /[a-zA-Z0-9]/.

Некоторые классы символов используются особенно часто, поэтому синтаксис регулярных выражений в JavaScript включает специальные символы и управляющие (escape) последовательности для их обозначения. Так, s соответствует символам пробела, табуляции и любым пробельным символам из набора Unicode, a S -любым символам, не являющимся пробельными символами из набора Unicode. В табл. 10.2 приводится перечень этих спецсимволов и синтаксиса классов символов. (Обратите внимание, что некоторые из управляющих последовательностей классов символов соответствуют только ASCII-символам и не расширены для работы с Unicode-символами. Можно явно определить собственные классы Unicode-символов, например, выражение /[u0400-4FF]/ соответствует любому символу кириллицы.)


Обратите внимание, что управляющие последовательности специальных символов классов могут находиться в квадратных скобках. s соответствует любому пробельному символу, a d соответствует любой цифре, следовательно, /[sd]/ соответствует любому пробельному символу или цифре. Обратите внимание на особый случай. Как мы увидим позже, последовательность b имеет особый смысл. Однако когда она используется в классе символов, то обозначает символ «забой». Поэтому, чтобы обозначить символ «забой» в регулярном выражении буквально, используйте класс символов с одним элементом: /[b]/.

Оглавление книги


Генерация: 0.931. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз