带(括号的关键字的正则表达式模式

时间:2018-08-15 08:54:33

标签: powershell

需要使用PowerShell在文档上搜索以下关键字:

$keyword = "The Parent shall pay to the Security Agent ("
Get-Content $SourceFileName | Select-String -Pattern $keyword

$ keyword具有“(”开头括号-如何在powershell中使用正则表达式来提及这一点

2 个答案:

答案 0 :(得分:2)

默认情况下,Select-String进行正则表达式匹配。在正则表达式中,括号具有特殊含义:括号将子表达式和断言分组。为了匹配正则表达式中的文字括号,必须使用反斜杠对其进行转义。

通常来说,如果您希望Select-String将模式作为文字字符串进行匹配,请使用-SimpleMatch参数:

Get-Content $SourceFileName | Select-String -Pattern $keyword -SimpleMatch

或退出模式:

Get-Content $SourceFileName | Select-String -Pattern ([regex]::Escape($keyword))

答案 1 :(得分:0)

使用反斜杠\ 来使左括号退出

$keyword = "The Parent shall pay to the Security Agent \("