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中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧
這篇文章主要介紹了PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧,需要的朋友可以參考下2014-08-08
Windows Powershell 變量的類型和強(qiáng)類型
這篇文章主要介紹了Windows Powershell 變量的類型和強(qiáng)類型,以及使用示例,需要的朋友可以參考下2014-09-09
Windows Powershell 進(jìn)行數(shù)學(xué)運(yùn)算
在Windows PowerShell中, 使用數(shù)學(xué)運(yùn)算符來進(jìn)行數(shù)學(xué)運(yùn)算,數(shù)學(xué)運(yùn)算符允許你在命令參數(shù)中計(jì)算數(shù)值. 你可以使用一個(gè)或者多個(gè)運(yùn)算符進(jìn)行加減乘除法, 也可以返回除法的余數(shù)(模). 包含這些計(jì)算的參數(shù), 將計(jì)算結(jié)果作為參數(shù)值. 命令就像處理其他類型參數(shù)一樣, 來處理參數(shù)值.2014-08-08
PowerShell中使用正則表達(dá)式跨行匹配字符串的方法
這篇文章主要介紹了PowerShell中使用正則表達(dá)式跨行匹配字符串的方法,重點(diǎn)在于正則表達(dá)式的寫法,需要的朋友可以參考下2014-08-08
PowerShell小技巧之獲取Windows系統(tǒng)密碼Hash
這篇文章主要介紹了使用PowerShell獲取Windows系統(tǒng)密碼Hash的小技巧,非常的實(shí)用,需要的朋友可以參考下2014-10-10
Windows Powershell創(chuàng)建對(duì)象
.Net類型中的方法功能很強(qiáng)大。可以通過類型的構(gòu)造函數(shù)創(chuàng)建新的對(duì)象,也可以將已存在的對(duì)象轉(zhuǎn)換成指定的類型。2014-10-10
PowerShell中使用正則表達(dá)式篩選數(shù)組實(shí)例
這篇文章主要介紹了PowerShell中使用正則表達(dá)式篩選數(shù)組實(shí)例,使用match操作符配合相應(yīng)正則表達(dá)式實(shí)現(xiàn)數(shù)組篩選功能,需要的朋友可以參考下2014-07-07

