正则表达式:替换字符串中的字母/单词(Powershell)

时间:2013-10-29 13:52:21

标签: regex powershell

我需要一些关于正则表达式的helüp。

我有这个输入

$ input = @(“Microsoft Windows Server 2003,Standard Editon”,“Microsoft Windows Server 2003 Standard Editon”)

我想要的是输出

$ input.Replace($图案, “R2”)

Microsoft Windows Server 2003 R2标准版“

Microsoft Windows Server 2003 R2标准版“

” #

我不知道如何为这个创建$ pattern ...

请你帮帮我

亲切的问候

2 个答案:

答案 0 :(得分:0)

如果您真的只想在所有“标准”之前添加“R2”,请尝试:

,? (?=Standard)

我认为这符合您的要求。

(?=标准)抓取“标准”背后的内容。

尝试使用在线正则表达式测试器,例如regexpal.com来测试代码。

答案 1 :(得分:0)

   @("Microsoft Windows Server 2003, Standard Editon", "Microsoft Windows Server 2003 Standard Editon") | % {$_ -replace "\d+", "2003 R2"}