在匹配模式之间查找字符串

时间:2016-05-23 09:06:02

标签: regex powershell

在PowerShell中,我想在第一个:和第一个,或第一个//之间捕获字符串(请参阅下面的示例)。

示例1:

  

迭代:每小时,小时:0,分钟:15频率:"分钟/小时:每15分钟"

输出:

  

每小时

示例2:

  

//迭代:一次//频率:"一次:2016年4月28日星期四上午9:57"

输出:

  

2 个答案:

答案 0 :(得分:2)

这应该适合你:

$string = 'Iteration: Hourly, Hours: 0, Minutes: 15Frequency: "Minutes/Hours: every 15 minutes"'
$regex = ':\s*(.+?)(?=,|\/\/)'
[regex]::Match($string, $regex).Groups[1].Value

Demo

答案 1 :(得分:2)

您可以在powershell

中使用此功能
'// Iteration: Once // Frequency: "Once: at 9:57 AM on Thursday, April 28, 2016"' -match ':\s*(.*?)(?:,|\/\/)' | Out-Null; $Matches[1]
相关问题