是的,我已经问过这个问题了,但问题更具体。上次我想忽略文件的前两行和最后一行。但让我感到震惊的是,任何人都可以在我想要阅读的内容之前和之后放置尽可能多的行,在这种情况下,我实现的代码将转到底池。
示例文件
USE [Shelley's Other Database] CREATE TABLE db.exmpcustomers( fname varchar(100) NULL, lname varchar(100) NULL, dateofbirth date NULL, housenumber int NULL, streetname varchar(100) NULL ) ON [PRIMARY]
我需要做的是找出我的数据开始的地方(fname - 但记住它可以被称为任何东西,所以我不能使用正则表达式寻找'f'),它结束的地方(最后的NULL) ,然后读一读。或者,您知道,读入文件并选择该数据;不管。
我想过使用正则表达式查找括号,但是它不会在我的数据类型中选取括号吗?
有什么想法吗?任何事都会有所帮助,我完全陷入困境。
编辑
哦,并且,原始文件实际上在数据(缩进)之前有空格/制表符,但我不确定是否会改变任何内容。
答案 0 :(得分:2)
我只想在括号之间使用贪婪匹配数据。只要)
跟ON
后没有(
,CREATE
之前没有DATABASE databasenamegoeshere
TABLE tablenamegoeshere
FIELD name type default
FIELD name type default
FIELD name type default
,内容中的括号就不重要了。
如果你不太了解SQL脚本,将控制暴露给其他人是一个好主意吗?为什么不创建一个允许相同优势的简单DSL? e.g:
{{1}}
然后将其转换为相应的SQL代码?似乎更安全..或者它必须是可执行的SQL吗?
答案 1 :(得分:0)
我在您的其他问题中提供的正则表达式与您的数据完全匹配。你的问题实际上与另一个问题完全重复。