Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Использование групп символов




В регулярных выражениях можно использовать и группы символов, например при выполнении команды

Get-Process | where {$_.name -match "sy[ns]"}

будет получен следующий результат:

 

Рис.15. Использование групп символов в регулярных выражениях

В левой части оператора -match находится массив строк, и оператор соответственно вывел лишь те строки, которые подошли под регулярное выражение.

Могут использоваться также и диапазоны в этих группах (рис.16).

 

Рис. 16. Использование диапазонов в группах символов

 

Перечисления символов можно комбинировать, например группа [агдэ-я] будет означать “А или Г или Д или любой символ от Э до Я включительно”.

Могут использоваться также диапазоны для определения целых классов символов. Например, выражение [а-я] будет означать любую букву русского алфавита, а [a-z] – английского алфавита. Аналогичная операция может использоваться и для цифр. Следующая команда

Get-Process | where {$_.name -match "[0-9]"}

выведет все процессы, в именах которых встречаются цифры (рис.17):

 

Рис.17. Список процессов, в именах которых встречаются цифры

 

Так как эта группа используется достаточно часто, для неё была выделена специальная последовательность – \d (от слова digit). По смыслу она полностью идентична [0-9], но короче (рис. 18):

Get-Process | where {$_.name -match "\d"}

 

Рис.18. Вывод списка процессов с использованием группы \d

 

Так же последовательность была выделена для группы “любые буквы любого алфавита, любые цифры, или символ подчеркивания” эта группа обозначается как \w (от word).

Она примерно эквивалентна конструкции [a-zа-я_0-9], но в \w еще входят символы других алфавитов которые используются для написания слов.

Другая популярная группа: \s “пробел, или другой пробельный символ” (например символ табуляции). Сокращение от слова space. В большинстве случаев вы можете обозначать пробел просто как пробел, но эта конструкция добавляет читабельности регулярному выражению.

Не менее популярной группой можно назвать символ. (точка). Точка в регулярных выражениях аналогична по смыслу знаку вопроса в подстановочных символах, то есть обозначает один любой символ.

Все вышеперечисленные конструкции можно использовать как отдельно, так и в составе групп, например выражение [\s\d] будет соответствовать любой цифре или пробелу. Если требуется указать внутри группы символ - (тире/минус), то нужно, либо экранировать его символом \ (обратный слеш), либо поставить его в начале группы, чтобы он не был случайно истолкован как диапазон (рис.19):

Рис. 19. Экранирование символа

 










Последнее изменение этой страницы: 2018-06-01; просмотров: 271.

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