国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

PowerShell中使用正則表達式匹配字符串實例

2020-05-30 20:11:15
字體:
來源:轉載
供稿:網友

本文介紹PowerShell中使用match操作符,配合正則表達式從字符串提取指定的內容。

使用正則表達式,除了可以確定字符串是否匹配某一個正則表達式規則之外,另一個很重要的應用就是從字符串中提取出指定的內容。什么意思呢,舉個例子,一個字符串中有出現連續的三個數字,我們想很方便的把這三個數字提取出來,那么就可以用正則表達式。
代碼如下:
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這個連續三個數字。我們又定義了一個$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 $pattern
True
PS C:/Users/Hong> $matches

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 涞水县| 拜城县| 淅川县| 石狮市| 茶陵县| 商水县| 平湖市| 普定县| 英山县| 怀集县| 浏阳市| 夏河县| 泗水县| 金阳县| 莱州市| 松潘县| 青铜峡市| 治多县| 永德县| 威远县| 自治县| 镇宁| 花垣县| 卓资县| 迭部县| 大同县| 贡嘎县| 辽中县| 房山区| 万州区| 沂源县| 萍乡市| 广丰县| 西和县| 融水| 康乐县| 开阳县| 金寨县| 怀柔区| 明溪县| 封开县|