Regex Powershell正则表达式多行查找和替换

Regex Powershell正则表达式多行查找和替换,regex,powershell,Regex,Powershell,我有一个问题非常类似于,但我似乎无法让我的表达发挥作用。就像另一个问题一样,我需要解析一个文件并替换我想要的东西。我的问题是,我要查找的不是固定字符串,而是多行日志条目,如下所示: $log_number $entry $tag 我需要用一个新字符串替换每个条目和一个选定的标记。到目前为止我有 (Get-Content $($parent_dir + $old_name + ".log")) | Out-String | ForEach-Object {$_ -replac

我有一个问题非常类似于,但我似乎无法让我的表达发挥作用。就像另一个问题一样,我需要解析一个文件并替换我想要的东西。我的问题是,我要查找的不是固定字符串,而是多行日志条目,如下所示:

$log_number
$entry
$tag
我需要用一个新字符串替换每个条目和一个选定的标记。到目前为止我有

(Get-Content $($parent_dir + $old_name + ".log")) | 
    Out-String | 
    ForEach-Object {$_ -replace "", "This is a test"} | 
    Set-Content $($parent_dir + $new_name + ".log")
但是我似乎找不到一个正则表达式查询可以匹配我正在寻找的格式。我试图修改我在这个问题上找到的一个:

但这似乎不起作用。我完全被难住了,任何帮助都将不胜感激

例如:

39983
"set x 1"
random_user

39984
"set x 45"
S0B0L

39985
"set x 23"
random_user
变成:

39983
"set x 1"
random_user

This is a test

39985
"set x 23"
random_user

我几乎可以肯定问题出在你的正则表达式上,它只查找数字和空格2次,然后是任何字符,包括换行符,然后是
S0B0L

与三行文本条匹配的正则表达式,第一行由数字组成,第三行为
S0B0L

(?i)[0-9]+[\r\n]+.*[\r\n]+S0B0L

请参阅。

谢谢!此外,该演示网站是了不起的。
(?i)[0-9]+[\r\n]+.*[\r\n]+S0B0L