最近运维公司系统时,在PowerShell上学习到了比较运算符 -Match -Like -Contains的用法。

这三个用法非常的相似,常常在coding时混淆。

因此本篇将和大家介绍这三个用法的区别哦!

1.-Match的基本用法

Match用于检测字符串A中是否包含由特定模式组成的字符串B。

Match的优点是,你所指定的特定模式B不一定要完全与字符串A完全吻合,这也是Match最大的特点。

另外,Match也和其他运算符一样拥有否定形式 -NotMatch。

以下将简单介绍-Mach的基本用法及其示例。

当字符串$MyName中包含指定模式“ka”时,将返还True。

当所指定的模式不包含于$MyName时,将返还False。

可以使用通配符“?”来指定任意字符。

2.-Like的基本用法

如果你只是想检测字符串中是否包含特定模式的话,那就不适合用-like。

-like的特点是必须结合通配符“ * ”来检测是否部分匹配。

通配符也可以自由地放置于不同的位置。

同样的-like也有否定形式-Notlike。

3.-Contanis的基本用法

-Contains的功能与-eq相似,但它是用于检测某元素是否包含于某集合,数列或是Hashtable中。

并且他的返回值必须为True或False。

-Contains必须用于检测某集合是否包含整个“元素”,而不是部分”字符“。

因此也不能与通配符同时使用。

4.关于PowerShell的运算符

本篇简单的和大家介绍了-Match -Like -Contains 的用法与区别~

当然除了条件运算符以外,PowerShell还有其他不同类型的运算符。

详情可以使用PowerShell自带的Get-Help来获取具体的用法以及示例哦!

以下简单的列出了PowerShell的基本运算符:

  • Arithmetic (+ * – /)
  • Assignment (= also -= +=)
  • Comparison ( -Match -Like.  Also: -eq -gt)
  • Logical ( -And -Not)
  • Redirectional ( >
  • Split and Join ( -split)
  • Type (-Is -Isnot)
  • Unary ($i++)

有兴趣的朋友们可以去查看看咯!

那么,本篇文章就到这里啦,希望能帮助到大家!

Kikajia最近终于开设了FB粉丝专页!!

点赞即可追踪最新帖文哦!您的支持是我最大的动力(o^^o)