【发布时间】:2012-08-08 19:45:31
【问题描述】:
我正在寻找一个正则表达式来从 sql 中删除注释行。所有的 cmets 都以“COMMENT ON”开头(显然),但可能往往不止一行。我能够想出一个表达式来删除单行,但我正在为多行而苦苦挣扎。我要删除的典型条目如下所示:
COMMENT ON TABLE account_heading IS $$
This table holds the account headings in the system. Each account must belong
to a heading, and a heading can belong to another heading. In this way it is
possible to nest accounts for reporting purposes.$$;
所以我需要的是一个正则表达式,它遵循多行直到它看到的点 分号。
我想出了这个,它将搜索到第二行并在双美元 ($$) 处停止。我昨天刚开始使用 RegEx,如果这绝对是完全错误的,请原谅我(我确信它是):
^COMMENT ([^\n\r]+)[\n\r]([\$;\n\r]+)
我在 Mac 上使用 Grep 选项在 TextWrangler 中执行此操作。
谢谢!
【问题讨论】:
-
如果您需要帮助,人们会提供帮助。如果您需要代码,请编写代码。也许发布你的单行正则表达式
-
已添加。谢谢你的提示。不是想让人们为我做这件事,只是我已经有一段时间了,而正则表达式似乎需要一些时间来学习。只是想知道我什么时候可能会因某项任务而不知所措。
-
SO 非常适合。只是想帮助你避免仇恨:p
标签: sql regex textwrangler