about_Regular_Expressions

Назначение: Windows PowerShell 2.0

РАЗДЕЛ
    about_Regular_Expressions

КРАТКОЕ ОПИСАНИЕ
    Описание регулярных выражений в Windows PowerShell.
 

ПОЛНОЕ ОПИСАНИЕ
    Windows PowerShell поддерживает следующие знаки регулярных выражений.


        Формат      Логика                              Пример
        ----------  --------------------------------    -----------------------
        значение    Точное соответствие со знаками  "книга" -match "ни"
            в любой части исходного значения.         

        .           Любой отдельный знак.           "копия" -match "к...я"

        [значение]  Хотя бы один из знаков      "жук" -match "ж[аоу]к"
            в квадратных скобках.     

        [диапазон]  Хотя бы один из знаков в указанном  "нос" -match "[к-н]ос"
            диапазоне. С помощью дефиса (-) 
            можно задать смежный знак.      

        [^]         Любые знаки, кроме указанных    "бык" -match "[^грт]ык"
            в квадратных скобках.   
         
        ^           Знаки в начале строки.              "книга" -match "^кн"

        $           Знаки в конце строки.           "книга" -match "га$"

        *           Любые совпадения с указанным    "тонна" -match "н*"
            символом.            

        ?           Одно совпадение с указанным     "тонна" -match "н?"
            символом.            

        \           Знак, указанный как escape-символ.  "Try$" -match "Try\$"


    Оболочка Windows PowerShell поддерживает классы символов, доступные 
    в регулярных выражениях Microsoft .NET Framework.


        Формат   Логика                            Пример
        -------- -------------------------------   -----------------------
        \p{имя}  Любой знак в именованном      "abcd defg" -match "\p{Ll}+"
         классе символов {имя}. 
             Поддерживаемые имена: группы 
         символов Юникода и блочные 
             диапазоны, такие как "Ll", "Nd", 
         "Z", "IsGreek" и "IsBoxDrawing". 
 
        \P{имя}  Любой текст, не входящий в        1234 -match "\P{Ll}+"
         группы или блочные диапазоны, 
             заданные классом {имя}.      
 
        \w       Любой знак, который может     "abcd defg" -match "\w+" 
         входить в слово. Эквивалентно     (выбирается abcd)
             символьным категориям Юникода 
         [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\
         p{Nd}\p{Pc}]. Если задано 
         совместимое с ECMAScript 
         поведение при помощи параметра 
         ECMAScript, \w эквивалентно 
         [a-zA-Z_0-9].       
 
        \W       Любой знак, который не может      "abcd defg" -match "\W+" 
         входить в слово. Эквивалентно     (выбирается пробел)
             категориям Юникода [^\p{Ll}\p{Lu}\
         p{Lt}\p{Lo}\p{Nd}\p{Pc}].   
 
        \s       Выбираются любые символы пробела. "abcd defg" -match "\s+"
         Соответствует символьным 
         категориям Юникода 
         [\f\n\r\t\v\x85\p{Z}].         
 
        \S       Выбираются любые символы,     "abcd defg" -match "\S+"
         кроме пробелов. Соответствует 
             символьным категориям Юникода 
         [^\f\n\r\t\v\x85\p{Z}].      
 
        \d       Любая десятичная цифра.        12345 -match "\d+"
         Соответствует классу \p{Nd} при 
             использовании Юникода и [0-9] 
         в противном случае.       
 
        \D       Любой знак, кроме десятичных       "abcd" -match "\D+"
         цифр. Соответствует 
             классу \P{Nd} при использовании 
         Юникода и [^0-9] в противном 
             случае.           


    Windows PowerShell поддерживает кванторы, доступные в регулярных 
    выражениях .NET Framework. Ниже приведено несколько примеров 
    кванторов.


        Формат   Логика                            Пример
        -------- -------------------------------   -----------------------
        *        Указывает ноль или более      "abc" -match "\w*"
         совпадений, например \w* 
                 или (abc)*. Эквивалентно {0,}.  
  
        +        Повторяющиеся экземпляры знаков,  "xyxyxy" -match "xy+"
         указанных перед этим символом.   

        ?        Указывает ни одного или одно      "abc" -match "\w?"
         совпадение, например \w?. или 
             (abc)?. Эквивалентно {0,1}.   
 
        {n}      Указывает ровно n совпадений,     "abc" -match "\w{2}"
         например (пицца){2}.   
          
        {n,}     Указывает не менее n совпадений,  "abc" -match "\w{2,}"
         например (abc){2,}. 
        
        {n,m}    Указывает не менее n и не     "abc" -match "\w{2,3}"
         более m совпадений.     


    Все сравнения в примерах из приведенной выше таблицы дают 
    положительный результат.


    Обратите внимание, что для регулярных выражений используется 
    escape-символ обратная косая черта (\), отличный от используемого 
    в Windows PowerShell. В Windows PowerShell в качестве escape-символа 
    используется обратный апостроф (`) (код ASCII 96).


    Дополнительные сведения см. в разделе "Элементы языка регулярных 
    выражений" в библиотеке MSDN по адресу 
    https://go.microsoft.com/fwlink/?LinkId=133231. 


СМ. ТАКЖЕ  
    about_Comparison_Operators

    about_Operators