如果这是一个非常简单的问题,我很抱歉。我第一次在PowerShell中使用正则表达式...Powershell中的可选正则表达式运算符
在$字符串,我想淘汰的第一个“-1”,所以串的输出将是“测试测试测试Long.xml”。
$string = 'test test test-1-Long.xml'
$string -replace '^(.*)-?\d?(-?.*)\.xml$', '$1$2'
我的问题是,我需要做的是同样的第一个“1”模式可选,如连字符和数量都不能有作为。
为什么“?
”运算符不工作?我也尝试过{0,1}
,但没有运气。这一定是明显的东西...
'$ string -replace'^(。*) - \ d + \ b(。*)\。xml $','$ 1 $ 2''是否按预期工作?您不需要任何可选组。请注意,如果不匹配,'replace'将返回字符串不变。 –