我们如何使用powershell替换只有一个单词/短语替换的多个匹配

时间:2014-08-19 03:13:02

标签: regex powershell powershell-ise

如何使用powershell

替换只有一个单词/短语替换的多个匹配项

以下是正则表达式中的匹配

  

授予对Server1的访问权限   授予对Server2的访问权限   授予对Server3的访问权限   授予对Server4的访问权限

需要用以下一个短语替换上面的所有结果,

  

每日一词!

1 个答案:

答案 0 :(得分:0)

我不完全确定OP的用途,但您希望将所有行与以下内容匹配

Grant access to Server1
Grant access to Server2
Grant access to Server3
Grant access to Server4

您可以将其用作模式(Grant access to Server\d+(\n)?){4}。这将匹配原始文本“授予对服务器的访问权限”,后跟至少一个数字。如果最后一项位于字符串的末尾(最后一项没有换行符),我们为换行添加了可选的(\n)?。最后,自该例子以来{4}的量子只有4次出现。您可以轻松地将{4}替换为*,以贪婪地捕获所有出现的序列

所以(Grant access to Server\d+(\n)?)*也匹配:

Grant access to Server1
Grant access to Server3
Grant access to Server44325
Grant access to Server4
Grant access to Server44
Grant access to Server3