濮阳杆衣贸易有限公司

主頁 > 知識庫 > PowerShell中match命令使用詳解

PowerShell中match命令使用詳解

熱門標(biāo)簽:信陽話務(wù)外呼系統(tǒng)怎么收費(fèi) 湖州電銷防封卡 電話智能外呼系統(tǒng)誠信合作 安徽400電話辦理 什么渠道可以找外呼系統(tǒng)客戶 金融電銷公司怎么辦理外呼系統(tǒng) 真人和電話機(jī)器人對話 使用電話機(jī)器人電銷是否違法 雷霆電話機(jī)器人電話

1.篩選數(shù)組

本文介紹PowerShell中使用match操作符,配合正則表達(dá)式從數(shù)組中篩選出想要的內(nèi)容。

先看下面這個例子:

PS C:\Users\Hong> (ipconfig) -match 'IPv4'
  IPv4 地址 . . . . . . . . . . . . : 192.168.1.102
  IPv4 地址 . . . . . . . . . . . . : 192.168.193.1
  IPv4 地址 . . . . . . . . . . . . : 192.168.93.1

我們知道ipconfig是顯示當(dāng)前計算機(jī)的TCP/IP配置信息的,其中有一項是IP地址。如果有多個網(wǎng)卡,或者一個網(wǎng)站上配置有多個IP地址,都可以很清楚的顯示出來。我們?yōu)榱苏故緈atch操作符篩選數(shù)組的功能,我們就拿這個ipconfig來做示例。

ipconfig執(zhí)行后的結(jié)果大致應(yīng)該是這樣的:

PS C:\Users\Hong> (ipconfig)

Windows IP 配置

無線局域網(wǎng)適配器 本地連接* 13:

  媒體狀態(tài) . . . . . . . . . . . . : 媒體已斷開
  連接特定的 DNS 后綴 . . . . . . . :

無線局域網(wǎng)適配器 Wi-Fi:

  連接特定的 DNS 后綴 . . . . . . . :
  本地鏈接 IPv6 地址. . . . . . . . : fe80::a438:a0ec:e477:94c6%12
  IPv4 地址 . . . . . . . . . . . . : 192.168.1.102
  子網(wǎng)掩碼 . . . . . . . . . . . . : 255.255.255.0
  默認(rèn)網(wǎng)關(guān). . . . . . . . . . . . . : 192.168.1.1

……(此處省略了其它網(wǎng)卡)

我們想要看本機(jī)配置的ip地址,那么只需要看以IPv4開頭的行即可。那么我們就可以簡單的以”IPv4“來作為匹配的關(guān)鍵字。所以,PowerShell命令就可以寫作:
(ipconfig) -match 'IPv4'

這里為什么要把ipconfig用小括號括起來呢?因為我們知道ipconfig本身也有一些參數(shù),為了不讓系統(tǒng)誤以為-match也是我們指定給ipconfig的參數(shù),我們就給ipconfig加了一對小括號。小括號優(yōu)先執(zhí)行,呵呵,就是告訴系統(tǒng),ipconfig是獨(dú)立的整體。

在示例中,ipconfig執(zhí)行后的結(jié)果是一個字符串?dāng)?shù)組。數(shù)組的每一個元素就是輸出的每一行,也就是說有多少行輸出,就有多少個數(shù)組元素。match參數(shù)對數(shù)組的操作,就是從數(shù)組元素中找到匹配的元素,把匹配到的元素輸出出來。

2.match 提取內(nèi)容

使用正則表達(dá)式,除了可以確定字符串是否匹配某一個正則表達(dá)式規(guī)則之外,另一個很重要的應(yīng)用就是從字符串中提取出指定的內(nèi)容。什么意思呢,舉個例子,一個字符串中有出現(xiàn)連續(xù)的三個數(shù)字,我們想很方便的把這三個數(shù)字提取出來,那么就可以用正則表達(dá)式。

PS C:\Users\Hong> $str="abc123abc"
PS C:\Users\Hong> $pattern="(\d{3})"
PS C:\Users\Hong> $str -match $pattern
True
PS C:\Users\Hong> $matches

Name              Value
----              -----
1               123
0               123

在上面的示例中,我們指定了一個字符串$str="abc123abc",這個字符串中包含了123這個連續(xù)三個數(shù)字。我們又定義了一個$pattern變量,這是一個正則表達(dá)式。我們直接運(yùn)行match時,輸出為true,表示$str字符串中有連續(xù)的三個數(shù)字。
當(dāng)我們再運(yùn)行$matches時,輸出了123,這就是匹配到的值。$matches這個變量不是我們自定義的,它是一個系統(tǒng)變量。我們在在運(yùn)行match操作符時,這個系統(tǒng)變量自動獲取了值。

再來說一下為什么$matches有兩個值呢,我們把上面的例子修改一下。大家看看區(qū)別。

PS C:\Users\Hong> $str="abc123abc"
PS C:\Users\Hong> $pattern="abc(\d{3})"
PS C:\Users\Hong> $str -match $pattern
True
PS C:\Users\Hong> $matches

Name              Value
----              -----
1               123
0               abc123

我們把$pattern變量的值作了修改,在前面加了一個abc。這個在$matches[0]的值就變成了abc123。這說明,$matches[0]表示的是與正則表達(dá)式相匹配的內(nèi)容。而$matches[1]及之后的內(nèi)容,則是對應(yīng)著正則表達(dá)式的一個個小括號里面匹配到的內(nèi)容。示例中我們只有一個小括號,那只有$matches[1]。試想一下,如果正則表達(dá)式有多小括號,則會有多個$matches元素值。

您可能感興趣的文章:
  • 在cmd中直接運(yùn)行PowerShell腳本文件的方法
  • Python中調(diào)用PowerShell、遠(yuǎn)程執(zhí)行bat文件實(shí)例
  • 揭秘PowerShell 5.0新特性和新功能
  • powershell解決win10開始菜單和通知中心無法打開

標(biāo)簽:德州 山南 岳陽 運(yùn)城 鶴崗 湛江 六盤水 濟(jì)南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PowerShell中match命令使用詳解》,本文關(guān)鍵詞  PowerShell,中,match,命令,使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PowerShell中match命令使用詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PowerShell中match命令使用詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    日喀则市| 桂东县| 双峰县| 克拉玛依市| 西宁市| 镇雄县| 徐闻县| 顺平县| 佛坪县| 揭西县| 景德镇市| 凤凰县| 东光县| 许昌市| 贺兰县| 阿拉善左旗| 临泽县| 宁化县| 长沙县| 建始县| 咸宁市| 彝良县| 西平县| 梁河县| 永善县| 桂林市| 五莲县| 友谊县| 天祝| 曲水县| 铜梁县| 禹城市| 延庆县| 开江县| 宁都县| 平顺县| 江门市| 石河子市| 珲春市| 杭州市| 天门市|