【问题标题】:Powershell: using -replace with regular expressionPowershell:使用 -replace 和正则表达式
【发布时间】:2017-01-18 21:26:39
【问题描述】:

如何使用正则表达式替换 -replace 语句的引号之间的任何文本?我可以让它处理静态文本,但它几乎可以是任何文本。

例子:

$filecontent -replace 'AssemblyCopyright("text")', 'AssemblyCopyright("Copyright © 2016 myCompany")' | Out-File $file

鉴于AssemblyCopyright("text") 实际上可以是任何内容,包括空白

AssemblyCopyright("")

【问题讨论】:

    标签: regex string powershell replace


    【解决方案1】:

    这样试试

    ... -replace 'AssemblyCopyright\("[^"]*"\)', 'AssemblyCopyright("Copyright © 2016 myCompany")'
    

    但是请注意,这将假定引号中的文本不包含另一个引号。


    注释示例

    【讨论】:

    • 我已经接近了很多。唯一的问题是版权前面有一个A字符。我认为 regex 或 powershell 不喜欢版权符号
    • 我认为这是您方面的编码问题 - 我在 PoSh ISE 中进行了快速测试,没有任何问题 - 请查看 GIF
    • 我现在正在调查。我想你肯定已经解决了。只需要一些润色! :D 谢谢! :D
    猜你喜欢
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 2012-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 2022-01-09
    相关资源
    最近更新 更多