我正在尝试使用带有powershell的正则表达式从目录名称中提取年,月和日。出于某种原因,我可以告诉我使用-match获得匹配,但是当我尝试使用[regex] :: Matches获得月份,日期和年份时,我无法获得匹配。
$temp = "toLocRobo_2019-01-30"
$regex = [regex]::Matches($temp,'([0-9]+)-([0-9]+)-([0-9]+)')
write-output $1 $2 $3 #$1, $2, and $3 are empty
if($temp -match '([0-9]+)-([0-9]+)-([0-9]+)') {
write-output $1 $2 $3 #cursor gets to here so it matches, but $1, $2, and $3 are empty
}
我一直在查看powershell matches datestring和powershell regex,但这有点不同,我不确定为什么它不起作用。任何帮助将不胜感激!
答案 0 :(得分:1)
执行替换操作时,将使用DECLARE @query NVARCHAR(1000) =''
SET @query = 'Select * from a where something = 123 and ('
+ (SELECT clause
FROM [table]
WHERE id = 1)
+ ')'
EXECUTE @query
等。
为了简单地匹配日期,我将执行以下操作:
$1
答案 1 :(得分:0)
$ 1,$ 2和$ 3的变量在哪里填充?
您的正则表达式可以正常工作,请参见以下代码:
$temp = "toLocRobo_2019-01-30"
$regex = [regex]::Matches($temp, '([0-9]+)-([0-9]+)-([0-9]+)')
$regex.groups[0].value
$regex.groups[1].value
$regex.groups[2].value
$regex.groups[3].value