如何使用powershell
替换只有一个单词/短语替换的多个匹配项以下是正则表达式中的匹配
授予对Server1的访问权限 授予对Server2的访问权限 授予对Server3的访问权限 授予对Server4的访问权限
需要用以下一个短语替换上面的所有结果,
每日一词!
答案 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