Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Здесь будет возвращено содержимое второй группы – домен почтового адреса.

Поддерживаются практически все возможности регулярных выражений .Net.

Так, например, используются именованные группы:

"Е-mail: xaegr@yandex.ru" -match "(?<Имя>S+)@(?<Домен>S+)"

Теперь можно получить значения так:

$matches["Домен"]

Или даже так:

$matches.Имя

Еще один оператор, работающий с регулярными выражениями, это -replace. С его помощью легко заменить текст, используя всё те же регулярные выражения. В качестве первого операнда указывается обрабатываемая строка (или массив строк), а в качестве второго – массив из двух элементов.

Первый из них – искомое выражение, а второй – то, на что будет произведена замена.

Так, например, следующая команда возвратит строку «PowerShell»:

"SimpleShell" -replace "Simple","Power"

Если второй элемент массива не указывать, то весь текст, подпадающий под выражение, будет удалён.

"PowerShell" -replace "[wrel]"

Эта команда удалит из строки все символы w, r, e и l. В результате мы получим «Posh». В -replace тоже можно применять группы захвата:

"PowerShell" -replace "(.{5})(.{5})",'$2$1'

Эта строчка вернёт нам значение «ShellPower».

Кстати, я не просто так поместил последнюю строчку в одинарные кавычки. Дело в том, что символ $ используется в PowerShell для обозначения переменных, и в строке, окруженной двойными кавычками, он попытается заменить $1 и $2 значениями соответствующих переменных.

В случае же, если всех вышеперечисленных методов недостаточно, можно использовать класс System.Text.RegularExpressions.Regex из .Net Framework. Создать его экземпляр можно, например, таким образом:

[regex]$r = "[,;]"

А затем посмотреть все его методы с помощью команды Get-Member:

$r | Get-Member -MemberType method

Так только с помощью System.Text.RegularExpressions.Regex можно применить метод Split:

$r.Split("1;2,3,4,5;6")

Как заставить PowerShell сравнивать строки (-eq, -match, -like) учитывая регистр символов?

Все операторы, работающие со строками, имеют версии, чувствительные к регистру символов. Отличаются они лишь приставленной спереди буквой «c» (от Case sensitive).


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100