PowerShell Regex用于搜索两行

时间:2017-03-17 09:18:19

标签: regex powershell

我正在尝试使用正则表达式来匹配powershell中的以下行

Add :
Some text here

这里只需要搜索两行,

但截至目前,我得到了以下正则表达式,正在搜索整个段落。我被困在这里请任何人帮助我

Add :+[\u000A]*[a-zA-Z0-9]*

正则表达式的代码段如下:

 $RegEx = "Add :+[\u000A]*[a-zA-Z0-9]*" 
    $requestforregex = "Requested for : [a-zA-Z0-9 \(\)\-]*" 
   $matchedItems = [regex]::matches($ticket[1].Body.Text.replace('&','&'), $RegEx,[system.Text.RegularExpressions.RegexOptions]::Singleline)
   $requestefor =( [regex]::matches($ticket[1].Body,$requestforregex,[system.Text.RegularExpressions.RegexOptions]::Singleline))[0].Value.Replace("Requested for : ","")

1 个答案:

答案 0 :(得分:1)

您需要使用

$RegEx = "Add\s*:[\r\n]+.*"

请参阅regex demo。在这里,[\r\n]+将匹配1个或多个CR或LF符号,.*将匹配除换行符之外的任何0 +字符。请注意,您无法使用代码中使用的Singleline选项。

要匹配行首的文字,请添加(?m)^

$RegEx = "(?m)^Add\s*:[\r\n]+.*"

其中(?m)RegexOptions.Multiline修饰符选项的内嵌版本。