РАЗДЕЛ
    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




Содержание