我正在尝试使用正则表达式来匹配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 : ","")
答案 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
修饰符选项的内嵌版本。