如果這是一個非常簡單的問題,我很抱歉。我第一次在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'將返回字符串不變。 –