我想替换每个文件中的字符串让我们调用字符串XXX 我想用开始和结束之间找到的正则表达式模式变量文本替换它在文本文件中搜索和替换 - 使用RegEx变量模式
目前它只是取代这个词,然后就是不替代。
$Pat1 = [regex] '(START)*(END)' # Find Variable between these 2 first
Get-ChildItem * -Recurse | Where-Object {
$_.Attributes -ne "Directory"
} | ForEach-Object {
(Get-Content $_) -replace "XXX","$Pat1" | Set-Content -path $_
}
示例文本下面
Lorem存有悲坐阿梅德,consectetur adipiscing ELIT。 Quisque porttitor augue quis urna suscipit lobortis。 Cras eu magna sem。 Quisque dictum feugiat convallis。
START 文件名1 END Lorem ipsum dolor sit amet,consectetur adipiscing elit。 Quisque porttitor augue quis urna suscipit lobortis。 Cras eu magna sem。 Quisque dictum feugiat convallis。
XXX Vestibulum risus quam,volutpat iaculis ipsum in,vehicula dictum urna。 Suspendisse dui tortor,faucibus et tellus vitae,malesuada consequat velit。
=================================
您从未为'$ Pat1'执行匹配,因此您将替换为空值。 – TheMadTechnician
喜TMT - 添加我像这样 “$ PAT1” -match – wp44
我一直在努力,这也:的foreach对象{$ _ -replace “XXX”,“(<= START?)*(我?)。? (?= * END)“} | - 似乎没有任何工作:( – wp44