我有多个名为FirstName_LastName(12345)
我想删除除括号以外的所有内容以提供12345
。
我认为这样可行,但它说正则表达式模式*(*)
无效。
Get-ChildItem '*(*)' | Rename-Item -newname { $_.name -Replace '*(*)','*' }
我正在使用Windows PowerShell。
答案 0 :(得分:3)
-replace
采用正则表达式作为参数,在正则表达式中,*
是一个量词意义" 0或更多"。您还需要逃离()
:
Get-ChildItem '*(*)' | Rename-Item -newname { $_.name -Replace '.*\((.*)\)','$1' }
$1
是对第一个捕获组的反向引用,即。在模式的.*
部分(.*)
匹配的任何内容