Powershell 获取内容 -> 参数 "-replace"



  • "-替换";参数绑定到cmdlet";获取内容">?通过谷歌搜索,我在许多不同的环境中找到了它
  • 为什么官方文档中没有显示-replaceParameter?获取内容Microsoft

问题:

正文如下:

color坐amet,consetetur sadipscing elitr,sed diam nonmyLoremIpsum-648648sdfsd

我想通过Regex从";LoremIpsum xxx";至";Loremipsum";

这是我的第一次尝试:

(Get-Content "C:File.cmd") -replace "[regex]::matches("LoremIpsum-(.*?)")" | Out-File -encoding ASCII C:File.cmd

-replace不是Get-Content参数,它是一个运算符,允许使用正则表达式查找指定的模式,然后删除或用另一个替换匹配的文本。

在您的情况下,您可以使用

(Get-Content "C:File.cmd") -replace '(?<=bLoremIpsum)-w+' | Out-File -encoding ASCII C:File.cmd

(?<=bLoremIpsum)-w+正则表达式匹配一个连字符(-)和一个或多个紧跟在LoremIpsum前面的单词字符(w+)作为一个完整单词(b是单词边界)。

注意如果要删除LoremIpsum之后的任何一个或多个非空白字符,则可以用S+替换w+

或者,您可以使用

(Get-Content "C:File.cmd") -replace 'b(LoremIpsum)-w+', '$1' | Out-File -encoding ASCII C:File.cmd

这里,LoremIpsum被捕获到捕获组中(ID为1,因为它是正则表达式中的第一个捕获组),并且替换现在是$1,替换后引用引用组1的值。

请参阅regex演示#1和此regex演示。

相关内容

  • 没有找到相关文章

最新更新