当前位置: 首页 > 编程笔记 >

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

子车芷阳
2023-03-14
本文向大家介绍PowerShell中使用正则表达式跨行匹配字符串的方法,包括了PowerShell中使用正则表达式跨行匹配字符串的方法的使用技巧和注意事项,需要的朋友参考一下

本文介绍在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中使用match操作符,配合正则表达式从字符串提取指定的内容。 使用正则表达式,除了可以确定字符串是否匹配某一个正则表达式规则之外,另一个很重要的应用就是从字符串中提取出指定的内容。什么意思呢,举个例子,一个

  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 问题内容: 我想匹配这样的电话号码,它应该有3位数字(000,666除外)以及900-999之间的任何数字,然后是-然后是2位数字,然后是- 然后是4位数字。例如:123-75-3456是数学000- 23-3452不是匹配项(否000)915-23-4534不是匹配项(大于900)有人可以帮忙吗?抱歉,忘记添加我尝试的内容,[0-9 && ^ [000,666,[900-999]] {3}-[0

  • 问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成

  • 我正在arround制作一个与字符串的某个块匹配的正则表达式,问题是它包含许多相似的块,并且没有清楚地分开,所以我不知道如何停止正则表达式。 字符串的例子 所以我要做的是匹配并只选择第一个A1。到目前为止,我所做的是: