欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PowerShell中使用正則表達(dá)式跨行匹配字符串的方法

 更新時(shí)間:2014年08月02日 09:32:24   作者:洪哥  
這篇文章主要介紹了PowerShell中使用正則表達(dá)式跨行匹配字符串的方法,重點(diǎn)在于正則表達(dá)式的寫法,需要的朋友可以參考下

本文介紹在PowerShell中當(dāng)使用正則表達(dá)式時(shí)遇到多行字符串,如何進(jìn)行跨行匹配的問題。

PowerShell中使用正則表達(dá)式來匹配搜索字符串是非常常用的一個(gè)操作。但如果遇到一個(gè)字符串有多行時(shí),常規(guī)的正則表達(dá)式,無法正常工作。

不信請(qǐng)看:

復(fù)制代碼 代碼如下:

PS C:\Users\spaybow> "1111`n2222" -match "^1.*2$"
False
PS C:\Users\spaybow> "1111`n2222" -match "1.*2"
False

上面兩個(gè)返回值都是False,這很讓人想不通。如果去掉“1111`n2222”中的“`n”則上面兩句都將返回True了。
復(fù)制代碼 代碼如下:

PS C:\Users\spaybow> "11112222" -match "1.*2"
True
PS C:\Users\spaybow> "11112222" -match "^1.*2$"
True

那么,怎么樣處理這種需要跨行的正則表達(dá)式匹配呢?答案是使用(?S)選項(xiàng),在正則表達(dá)式之前加上“(?s)”,可以讓正則表達(dá)式跨行匹配。
復(fù)制代碼 代碼如下:

PS C:\Users\spaybow> "1111`n2222" -match "(?s)^1.*2$"
True
PS C:\Users\spaybow> "1111`n2222" -match "(?s)1.*2"
True

關(guān)于PowerShell中正則表達(dá)式跨行匹配,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!

相關(guān)文章

最新評(píng)論