PowerShell中使用正则表达式跨行匹配字符串的方法

所属分类: 脚本专栏 / PowerShell 阅读数: 299
收藏 0 赞 0 分享

本文介绍在PowerShell中当使用正则表达式时遇到多行字符串,如何进行跨行匹配的问题。

PowerShell中使用正则表达式来匹配搜索字符串是非常常用的一个操作。但如果遇到一个字符串有多行时,常规的正则表达式,无法正常工作。

不信请看:

复制代码 代码如下:

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

上面两个返回值都是False,这很让人想不通。如果去掉“1111`n2222”中的“`n”则上面两句都将返回True了。
复制代码 代码如下:

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

那么,怎么样处理这种需要跨行的正则表达式匹配呢?答案是使用(?S)选项,在正则表达式之前加上“(?s)”,可以让正则表达式跨行匹配。
复制代码 代码如下:

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

关于PowerShell中正则表达式跨行匹配,本文就介绍这么多,希望对您有所帮助,谢谢!

更多精彩内容其他人还在看

PowerShell入门教程之PowerShell管道介绍

这篇文章主要介绍了PowerShell入门教程之PowerShell管道介绍,本文讲解了管道的作用,并列出了几个使用实例,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之函数、脚本、作用域介绍

这篇文章主要介绍了PowerShell入门教程之函数、脚本、作用域介绍,本文所讲内容都是PowerShell的基础知识,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之访问.Net程序集、COM和WMI实例

这篇文章主要介绍了PowerShell入门教程之访问.Net程序集、COM和WMI实例,本文讲解了PowerShell作为Windows平台的脱水语言来访问其它资源的例子,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之创建和使用配置文件实例

这篇文章主要介绍了PowerShell入门教程之创建和使用配置文件实例,PowerShell的配置文件都是些普通的PowerShell脚本文件,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell入门教程之编写和使用脚本模块实例

这篇文章主要介绍了PowerShell入门教程之编写和使用脚本模块实例,本文讲解了模块、脚本模块、编写脚本模块、模块安装路径、模块文件夹等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

WMI入门教程之什么是WMI?

这篇文章主要介绍了WMI入门教程之什么是WMI?WMI有一组API,我们可以使用VBScript、PowerShell脚本还是利用C#的来访问WMI的类库,需要的朋友可以参考下
收藏 0 赞 0 分享

WMI入门教程之怎么使用WMI?

这篇文章主要介绍了WMI入门教程之怎么使用WMI?本文讲解了在软件中、PowerShell中、.NET中使用WMI的例子,需要的朋友可以参考下
收藏 0 赞 0 分享

WMI入门教程之WMI中的类在哪里?

这篇文章主要介绍了WMI入门教程之WMI中的类在哪里?本文讲解了WMI中类的层次结构、常用WMI类、WMI类查找手册等内容,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell小技巧之观察UNC路径

UNC(Universal Naming Convention)通用命名规则,也称通用命名规范、通用命名约定。UNC路径就是类似\\softer这样的形式的网络路径。
收藏 0 赞 0 分享

PowerShell小技巧之True和False的类型转换

这篇文章主要介绍了在PowerShell中将True和False的类型互相转换的几种方法,非常简单实用,有需要的朋友参考下
收藏 0 赞 0 分享
查看更多