我正在尝试在日志文件中收集2个字符之间的所有文本。
示例日志文件文本为:
Conversation with Boris at 6/30/2017 7:26:35 AM on Server(jabber)
(7:26:41 AM) Boris@Boris.com/Server: I likes cake
This was a Message from Boris to everyone at 2017-06-29 22:35:18.724681 EVE ~~~
我想收集第一个方括号和最后一个波浪号之间的所有文本。
我一直在尝试使用REGEX来执行此操作,但是不确定正确的模式。
有人可以帮忙吗?
最佳答案
根据wOxxOm的评论,此正则表达式模式似乎可以解决问题:'(?s)\(.*?~+'
以下是如何在PowerShell中使用它:
$Sample = @"
Conversation with Boris at 6/30/2017 7:26:35 AM on Server(jabber)
(7:26:41 AM) Boris@Boris.com/Server: I likes cake
This was a Message from Boris to everyone at 2017-06-29 22:35:18.724681 EVE ~~~
"@
$Sample -Match '(?s)\(.*?~+' | Out-Null
$Result = $Matches.Values
这是
$Result
:(jabber)
(7:26:41 AM) Boris@Boris.com/Server: I likes cake
This was a Message from Boris to everyone at 2017-06-29 22:35:18.724681 EVE ~~~
关于regex - 在Powershell中获取2个字符之间的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44840362/