如果我有以下文字:
some text
CREATE DATABASE [$(DatabaseName)]
This can be any text
GO
other text
GO
more text
我想只匹配
CREATE DATABASE [$(DatabaseName)]
any text that is here
GO
使用正则表达式。到目前为止我所尝试的失败并给了我一切直到最后的GO。我想在找到GO的第一次出现后停止。
这就是我的尝试:
CREATE DATABASE[^<>]*^(GO)+?
我理解为什么它不起作用,但不知道如何解决它。 非常感谢。
答案 0 :(得分:2)
答案 1 :(得分:1)
这样做:
CREATE DATABASE \[(.+?)\]
答案 2 :(得分:1)
根据我的理解,这适用于我(如果需要,点匹配新行已设置)
CREATE DATABASE.*?GO
使用我为其创建的永久链接,在rubular.com查看测试结果:http://rubular.com/r/2KsBrnSGhC
答案 3 :(得分:0)
我对正则表达式很糟糕,所以如果你在.Net环境中,请尝试使用MS的这个好插件:
http://visualstudiogallery.msdn.microsoft.com/en-us/55c24bf1-2636-4f94-831d-28db8505ce00
答案 4 :(得分:0)
我找到了怎么做:
CREATE DATABASE+([\s\S]*?)+GO
或更短
CREATE DATABASE[\s\S]*?GO