أساسيات PowerShell: تحديد نهاية الخط بحرف معين

هل تعلم أنه يمكنك تحديد ما إذا كانت السلسلة تنتهي بحرف معين أو تبدأ بها في PowerShell؟ شارك Thomas Rayner من قبل على CANITPRO.NET كم هو سهل التعامل مع التعبيرات العادية ، أو ببساطة أكثر ، Regex.




شكرًا لك على ترجمة MSP ، Lev Bulanov .

النظر في الأمثلة التالية:


'something\' -match '\\$' #returns true 'something' -match '\\$' #returns false '\something' -match '^\\' #returns true 'something' -match '^\\' #returns false 

في المثالين الأولين ، يتحقق البرنامج النصي لمعرفة ما إذا كان السطر ينتهي بخط مائل عكسي. في المثالين الأخيرين ، يتحقق البرنامج النصي من السلسلة لتحديد ما إذا كان يبدأ بشرطة مائلة.

يشبه نمط regex الأولين مثل "\\ $". ماذا يعني هذا؟ حسنًا ، الجزء الأول \\ يعني "شرطة مائلة للخلف" (لأن \ عبارة عن شخصية هروب ، ونهرب بشكل أساسي من حرف الهروب. الجزء الأخير من $ هو نهاية إشارة السطر. في الواقع ، "ليس لدينا شيء على الإطلاق ، حيث يكون الأخير ما يقف على الخط هو الخط المائل العكسي ، وهذا بالضبط ما نبحث عنه.


في المثالين التاليين ، قمت ببساطة بنقل \\ إلى بداية السطر وبدأت بـ ^ ، وليس $ ، لأن ^ هي الإشارة لبدء الخط.


يمكنك الآن القيام بأشياء مثل:


 $dir = 'c:\temp' if ($dir -notmatch '\\$') { $dir += '\' } $dir #returns 'c:\temp\' 

يتحقق النص هنا إذا كان خط "الدببة" ينتهي بخط مائل عكسي ، وإذا لم يكن كذلك ، فسأضيفه.

Source: https://habr.com/ru/post/ar441428/


All Articles