PowerShell中使用正則表達(dá)式匹配字符串實(shí)例
本文介紹PowerShell中使用match操作符,配合正則表達(dá)式從字符串提取指定的內(nèi)容。
使用正則表達(dá)式,除了可以確定字符串是否匹配某一個(gè)正則表達(dá)式規(guī)則之外,另一個(gè)很重要的應(yīng)用就是從字符串中提取出指定的內(nèi)容。什么意思呢,舉個(gè)例子,一個(gè)字符串中有出現(xiàn)連續(xù)的三個(gè)數(shù)字,我們想很方便的把這三個(gè)數(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
在上面的示例中,我們指定了一個(gè)字符串$str="abc123abc",這個(gè)字符串中包含了123這個(gè)連續(xù)三個(gè)數(shù)字。我們又定義了一個(gè)$pattern變量,這是一個(gè)正則表達(dá)式。我們直接運(yùn)行match時(shí),輸出為true,表示$str字符串中有連續(xù)的三個(gè)數(shù)字。
當(dāng)我們?cè)龠\(yùn)行$matches時(shí),輸出了123,這就是匹配到的值。$matches這個(gè)變量不是我們自定義的,它是一個(gè)系統(tǒng)變量。我們?cè)谠谶\(yùn)行match操作符時(shí),這個(gè)系統(tǒng)變量自動(dòng)獲取了值。
再來說一下為什么$matches有兩個(gè)值呢,我們把上面的例子修改一下。大家看看區(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變量的值作了修改,在前面加了一個(gè)abc。這個(gè)在$matches[0]的值就變成了abc123。這說明,$matches[0]表示的是與正則表達(dá)式相匹配的內(nèi)容。而$matches[1]及之后的內(nèi)容,則是對(duì)應(yīng)著正則表達(dá)式的一個(gè)個(gè)小括號(hào)里面匹配到的內(nèi)容。示例中我們只有一個(gè)小括號(hào),那只有$matches[1]。試想一下,如果正則表達(dá)式有多小括號(hào),則會(huì)有多個(gè)$matches元素值。
關(guān)于PowerShell使用match提取字符串中的指定內(nèi)容,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
使用PowerShell獲取Trustedinstaller權(quán)限的問題
這篇文章主要介紹了使用PowerShell獲取Trustedinstaller權(quán)限,獲取到?Trustedinstaller?權(quán)限,就可以通過一些命令來修改系統(tǒng)文件了,本文給大家詳細(xì)講解,需要的朋友可以參考下2023-01-01PowerShell中把相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑的2個(gè)方法
這篇文章主要介紹了PowerShell中把相對(duì)路徑轉(zhuǎn)換為絕對(duì)路徑的2個(gè)方法,并對(duì)他的區(qū)別做了講解,需要的朋友可以參考下2014-08-08PowerShell ISE中代碼轉(zhuǎn)換大小寫的技巧
這篇文章主要介紹了PowerShell ISE中代碼轉(zhuǎn)換大小寫的技巧,本文使用ISE內(nèi)置快捷鍵解決這個(gè)問題,需要的朋友可以參考下2015-03-03Powershell小技巧之使用WMI測(cè)試服務(wù)響應(yīng)
這篇文章主要介紹了Powershell小技巧之使用WMI測(cè)試服務(wù)響應(yīng),需要的朋友可以參考下2014-09-09PowerShell因?yàn)樵诖讼到y(tǒng)中禁止執(zhí)行腳本的解決方法
今天看到國外的一篇文章可以在cmd中運(yùn)行95版本的ps1格式的批處理,但經(jīng)過測(cè)試默認(rèn)情況下powershell支不支持執(zhí)行腳本需要執(zhí)行如下操作2016-10-10Powershell小技巧之非相同域或信任域也能遠(yuǎn)程
這篇文章主要介紹了使用Powershell在非相同域或信任域也能遠(yuǎn)程的方法以及如何設(shè)置powershell遠(yuǎn)程處理的方法,需要的朋友可以參考下2014-10-10