在powershell中使用regex替换第一次出现的字符串

时间:2014-08-20 06:23:18

标签: regex powershell powershell-ise

我正在使用powershell中的regex替换字符串。 但是当我尝试在string中实现第一次出现时替换一个单词。它不起作用。

(((Grant Execute.*)\n+go)(\n)?)如果我要替换所有匹配项,这是我正在使用的正则表达式。

^(((Grant Execute.*)\n+go)(\n)?)当我想要替换第一次出现的字符串时,我使用了这个...

下面是我要替换的字符串。此数据来自批处理文件。 Grant Execute on dbo.Table to server1 go Grant Execute on dbo.Table to server2 go Grant Execute on dbo.Table to server2

1 个答案:

答案 0 :(得分:0)

尝试这种模式:

(?s)(?<!go\s*)Grant Execute.*?go(?!\sGrant)