我因为一个奇怪的问题而发疯,我一直在尝试寻找这段文字:
CREATE Proc [dbo].[procName] (@EMI_ID numeric(8), @ESYNTH_ID numeric(8), @FLD_ID numeric(8), @SYNTH_ID numeric(8)) As
我使用这个正则表达式:
CREATE Proc \[dbo\]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\), @SYNTH_ID numeric\(8\)\) As
然而,在“查找”中,
这不起作用,但如果我尝试仅使用这个正则表达式进行匹配(与上面相同,但没有最后一个存储过程参数):
CREATE Proc \[dbo\]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\),
它可以毫无问题地运行。
我也尝试过使用 TextFX 的查找和替换功能,但无济于事。
请帮忙,我快疯了!
谢谢 ;)
答案1
是的,你的正则表达式是正确的。
但在我的测试中,notepad++ 似乎被限制为 103 个字符,正则表达式字符串。
CREATE Proc \[dbo]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\), @S
测试并发现我创建的文本文件中有多个。
希望这可以帮助。
答案2
虽然不是最好的正则表达式,但您的第一个正则表达式应该与目标字符串匹配。这是 Notepad++ 的一个缺陷。
我发现程序员的记事本成为一个更好的文本编辑器,事实上你的正则表达式在这个程序中起作用,