麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell中match命令使用詳解

2020-03-26 19:08:30
字體:
來源:轉載
供稿:網友

1.篩選數組

本文介紹PowerShell中使用match操作符,配合正則表達式從數組中篩選出想要的內容。

先看下面這個例子:

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

我們知道ipconfig是顯示當前計算機的TCP/IP配置信息的,其中有一項是IP地址。如果有多個網卡,或者一個網站上配置有多個IP地址,都可以很清楚的顯示出來。我們為了展示match操作符篩選數組的功能,我們就拿這個ipconfig來做示例。

ipconfig執行后的結果大致應該是這樣的:

PS C:/Users/Hong> (ipconfig)Windows IP 配置無線局域網適配器 本地連接* 13:  媒體狀態 . . . . . . . . . . . . : 媒體已斷開  連接特定的 DNS 后綴 . . . . . . . :無線局域網適配器 Wi-Fi:  連接特定的 DNS 后綴 . . . . . . . :  本地鏈接 IPv6 地址. . . . . . . . : fe80::a438:a0ec:e477:94c6%12  IPv4 地址 . . . . . . . . . . . . : 192.168.1.102  子網掩碼 . . . . . . . . . . . . : 255.255.255.0  默認網關. . . . . . . . . . . . . : 192.168.1.1……(此處省略了其它網卡)

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

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

在示例中,ipconfig執行后的結果是一個字符串數組。數組的每一個元素就是輸出的每一行,也就是說有多少行輸出,就有多少個數組元素。match參數對數組的操作,就是從數組元素中找到匹配的元素,把匹配到的元素輸出出來。

2.match 提取內容

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

PS C:/Users/Hong> $str="abc123abc"PS C:/Users/Hong> $pattern="(/d{3})"PS C:/Users/Hong> $str -match $patternTruePS C:/Users/Hong> $matchesName              Value----              -----1               1230               123

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

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

PS C:/Users/Hong> $str="abc123abc"PS C:/Users/Hong> $pattern="abc(/d{3})"PS C:/Users/Hong> $str -match $patternTruePS C:/Users/Hong> $matchesName              Value----              -----1               1230               abc123

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人在线视频网 | 欧美黑人xx | 精品欧美一区二区精品久久 | 日日鲁一鲁视频 | 99精彩视频在线观看 | 最新欧美精品一区二区三区 | 色猫av| 国产精品美女一区二区 | 国产精品久久久久久久四虎电影 | 亚洲成人在线免费观看 | 久草视频国产在线 | 热久久91| 国内精品久久久久久久影视红豆 | 91福利国产在线观一区二区 | 精品一区二区三区在线观看国产 | 爱操影视| 欧美18—19sex性护士中国 | 国产日韩精品欧美一区视频 | 亚洲一区二区三区视频免费 | www.国产一区.com | 亚洲欧美一区二区三区在线观看 | 国产免费传媒av片在线 | 久久久久亚洲国产精品 | 精品国产一区二区三区四区在线 | 免费黄色在线观看网站 | 91综合在线观看 | 亚洲人成电影在线 | 久草手机在线 | 黄色免费不卡视频 | 97超级碰碰人国产在线观看 | 欧美精品成人 | 一级一级一级毛片 | 免费一级毛片观看 | 99成人精品视频 | 成人午夜免费在线观看 | 麻豆一区二区99久久久久 | 神马顶级推理片免费看 | 欧美性生交xxxxx久久久缅北 | 国产一级毛片av | 久草在线免费看 | 久久久久久99 |