在Powershell中将正则表达式捕获组的结果更改为小写

时间:2019-04-01 17:46:31

标签: regex powershell

我有这个正则表达式捕获组:

$lowerPattern='(href[\s]?=[\s]?\"[^"]*[^"]*\")'

这将返回我需要的所有匹配项。但是我需要用所有小写的结果替换捕获组:

$lowerPatternReplace = '$1'.ToLower()

这似乎不起作用。如何在Powershell正则表达式中小写捕获组?

1 个答案:

答案 0 :(得分:0)

此代码似乎对我有用。只是少了一些速记。由于执行的顺序(您要降低文字字符串'$ 1'),我没有看到使用反向引用实现此目的的方法。

$Entry = 'asdHREFasd'
$RegEx = '(href)'
$match = $Entry -match $RegEx
[string]$upper = $Matches[1] #first capture group
[string]$lower = $upper.ToLower()
[string]$Entry.replace($upper,$lower)

source