删除 2 个正则表达式模式之间的所有字符

Kim*_*imo 0 powershell

我有一个充满这样行的文件:

04:50:03 [SomeText]        04:54:05
04:54:33 [Some other text] 04:54:56
04:56:43 [Another text]    04:57:09
...
Run Code Online (Sandbox Code Playgroud)

我想删除两次之间的所有文本(只保留一个分号)并将所需的结果输出到另一个文件,如下所示:

04:50:03;04:54:05
04:54:33;04:54:56
04:56:43;04:57:09
...
Run Code Online (Sandbox Code Playgroud)

这是我用来匹配日期的正则表达式模式: \d{2}:\d{2}:\d{2}

如何使用 Powershell 实现这一目标?

Mat*_*sen 5

由于您的时间戳位于每行的开头和结尾,请使用^$来锚定它们,然后将它们包含在一个捕获组中并删除其他所有内容:

(Get-Content file.txt) -replace '^(\d\d:\d\d:\d\d).*?(\d\d:\d\d:\d\d)$','$1;$2'
Run Code Online (Sandbox Code Playgroud)