我正在寻找一个正则表达式来从 sql 中删除注释行。所有评论都以“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 中执行此操作。
谢谢!