文字和标识符可以跨越多行
单行注释可能是代码的最后一个元素,可能不会以换行符结束。
在SQL Server和PostgreSQL等数据库中,可以嵌套多行注释,例如
/* outer comment /* inner comment */ */
以下代码无效,因为只有内部注释被关闭:
/* opened outer comment /* closed inner comment */
在Teradata,Oracle,MySql和SQLite等数据库中,没有嵌套注释的概念。 以下代码无效,因为评论已使用最左边的* /。
关闭/* comment /* is closed */ ERROR */
但这是一个有效的代码:
/* comment /* still the same comment */
答案 0 :(得分:2)
<强> Teradata的强>
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAoHDPXfbdKEZDmLsxPNlWY3gBGzG69p0vTrhRZEzO09p5kZ35
T1y9cZAig+lEgY7U/trDWh0d1ABSfsLwT/dv2AAeBE2+avYE+v1jyr6N3FzFXS2O
jKOTkUy+Xw54aAlYHh4S8/K41rrxjcL7cjORWojl+4ZTfGLqCZE8Ga6c41MxBM9v
8ky9Kh2Tnf1zMnGk3Xd69jKnfsZyz7pzeNAZ8g0lezDt8r8b472fXTW2rnwezhTR
YsAbBjoP+P2JhNIQEHXXoTLqflQMfX34TTQLzg5OYOpNNezSqEFh9lFRvnE5B6h+
ov7qF+KyWT17dZMrywd2M6ixVFi3u6JbR/E/9QIDAQABAoIBAGhsZBtVVGYlLVPX
6lkfX+HHtnibqoNelO7YemkcsLUkimFjf2PPCaJDXKOcjLECZNEnU2RwdPyJ5SeJ
+10gwBPHJ8JHU3tMertddrj7w1s8qlxWDWSuBprYZ0N5KJcWFdssWcubHADulc9d
q8iNlbpmRcGqkOXxf0AQ3hwdERHHCLgJzB9Djlurwine1Xs33ZQkr0DecHRS5Unr
IbH9YLKQvGzdohrQfDTSntf/79wxdKRjdiAvPv5AQMz4lrEKYKLp+4B0j3kRq3LN
mokNdCcuhVJKuuN8s4C8EaBYByfWJbzVG2ZqHyoF0Zy1eFkTrXKoaExdv1q37Q3r
hVtD8CECgYEA0YD7sLkrt9WhTIMc0oUdeLLcpI6vvbmJtdkM1bUm/hpacG4VvpJs
Y/Txw4qHydCcbFIh4EyhuEcvnHrbFReyqWB25hLDnsOT/js76xbdJFVN+g7B+pCb
DfDv7LMKf8iJjVO+W5gnxxCrTrW9YbLs11vZUYcMnzySnsHYHtD7/C0CgYEAxAxK
EwkkTMvT0AvyBK6d+EzZPwcSpokWMqs8K2iGdQiGWuvCvrwaSPFOWS54RXx0Cm7j
iE5Nx5U1OXrA2iTwxTMXjcbHHL0mZ5KJIIP+qSu7839hK1b4bx45k0rjiDH5O+we
8y6gAh7Ni+T+7U2LqVBBMVbNzUycTztDshwxh+kCgYEAmCKpIykkhSe+LRidCocd
4rNIJLt1BTpBtWs7tckJ2sZ6XGCkq7Iawe9yzQPBHZ2+qa5u6TncyjvvaBuTElsW
I4docCS6J4Vw59JN7aa5yhOkP20OEg2Ge3Y2VFWjzy1qLdXdSxhP8m+5Zrv1HYhY
Ev+g7WI7mTrcYirz7VTnV7UCgYEAqXRR5qhFNxgLSk248HEaXA/Yy9DKPyZJCJzX
0lFzvt8Seq5D02d1dM0WwqEXFkCfcJEunJfKRRPkQH2pCiVZ86nY1xQU8PNRqb6Q
Romw6frCZ5MXo0V2UV2XuIfHqeZAHppWmi4X4h1L33qdGvKnID8dSo9ULfrlNNru
BZq2+VkCgYBV9wCdkG9CeqpJ2ZrEE4S7ZKUzbQY2nRpLTVp4fS07iE19XGoe+mZH
xFdR7t6mCqddY1SJ5qbKta0I4ibUw5LpaG0odVduqbJmIJskSyocVfQPd7qfoIch
Fku3d1WZiU4DNudSglSf2PIzw6S7Lp1Lp6n5wDzdxF3uJFYv1twlVQ==
-----END RSA PRIVATE KEY-----
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAoHDPXfbdKEZDmLsxPNlWY3gBGzG69p0vTrhRZEzO09p5kZ35
T1y9cZAig+lEgY7U/trDWh0d1ABSfsLwT/dv2AAeBE2+avYE+v1jyr6N3FzFXS2O
jKOTkUy+Xw54aAlYHh4S8/K41rrxjcL7cjORWojl+4ZTfGLqCZE8Ga6c41MxBM9v
8ky9Kh2Tnf1zMnGk3Xd69jKnfsZyz7pzeNAZ8g0lezDt8r8b472fXTW2rnwezhTR
YsAbBjoP+P2JhNIQEHXXoTLqflQMfX34TTQLzg5OYOpNNezSqEFh9lFRvnE5B6h+
ov7qF+KyWT17dZMrywd2M6ixVFi3u6JbR/E/9QIDAQABAoIBAGhsZBtVVGYlLVPX
6lkfX+HHtnibqoNelO7YemkcsLUkimFjf2PPCaJDXKOcjLECZNEnU2RwdPyJ5SeJ
+10gwBPHJ8JHU3tMertddrj7w1s8qlxWDWSuBprYZ0N5KJcWFdssWcubHADulc9d
q8iNlbpmRcGqkOXxf0AQ3hwdERHHCLgJzB9Djlurwine1Xs33ZQkr0DecHRS5Unr
IbH9YLKQvGzdohrQfDTSntf/79wxdKRjdiAvPv5AQMz4lrEKYKLp+4B0j3kRq3LN
mokNdCcuhVJKuuN8s4C8EaBYByfWJbzVG2ZqHyoF0Zy1eFkTrXKoaExdv1q37Q3r
hVtD8CECgYEA0YD7sLkrt9WhTIMc0oUdeLLcpI6vvbmJtdkM1bUm/hpacG4VvpJs
Y/Txw4qHydCcbFIh4EyhuEcvnHrbFReyqWB25hLDnsOT/js76xbdJFVN+g7B+pCb
DfDv7LMKf8iJjVO+W5gnxxCrTrW9YbLs11vZUYcMnzySnsHYHtD7/C0CgYEAxAxK
EwkkTMvT0AvyBK6d+EzZPwcSpokWMqs8K2iGdQiGWuvCvrwaSPFOWS54RXx0Cm7j
iE5Nx5U1OXrA2iTwxTMXjcbHHL0mZ5KJIIP+qSu7839hK1b4bx45k0rjiDH5O+we
8y6gAh7Ni+T+7U2LqVBBMVbNzUycTztDshwxh+kCgYEAmCKpIykkhSe+LRidCocd
4rNIJLt1BTpBtWs7tckJ2sZ6XGCkq7Iawe9yzQPBHZ2+qa5u6TncyjvvaBuTElsW
I4docCS6J4Vw59JN7aa5yhOkP20OEg2Ge3Y2VFWjzy1qLdXdSxhP8m+5Zrv1HYhY
Ev+g7WI7mTrcYirz7VTnV7UCgYEAqXRR5qhFNxgLSk248HEaXA/Yy9DKPyZJCJzX
0lFzvt8Seq5D02d1dM0WwqEXFkCfcJEunJfKRRPkQH2pCiVZ86nY1xQU8PNRqb6Q
Romw6frCZ5MXo0V2UV2XuIfHqeZAHppWmi4X4h1L33qdGvKnID8dSo9ULfrlNNru
BZq2+VkCgYBV9wCdkG9CeqpJ2ZrEE4S7ZKUzbQY2nRpLTVp4fS07iE19XGoe+mZH
xFdR7t6mCqddY1SJ5qbKta0I4ibUw5LpaG0odVduqbJmIJskSyocVfQPd7qfoIch
Fku3d1WZiU4DNudSglSf2PIzw6S7Lp1Lp6n5wDzdxF3uJFYv1twlVQ==
-----END RSA PRIVATE KEY-----
<强>的Oracle 强>
with t (txt) as
(
select '
select /* comment /* yada yada yada /* / // bla bla bla
1
*/ t1.i
,''"SRC''''"'' as "This''is''the
''source"
from t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */
where t2.v = ''/*DST"*
/'' -- comment 4'
)
select regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=[\r\n]|$)','\1',1,0,'n') as clean_txt
from t
;
with t (txt) as
(
select '
select /* comment /* yada yada yada /* / // bla bla bla
1
*/ t1.i
,''"SRC''''"'' as "This''is''the
''source"
from t1 /* "Comment 2" - '' */ cross join t2 -- /* comment 3 */
where t2.v = ''/*DST"*
/'' -- comment 4'
from dual
)
select regexp_replace (txt,'(''.*?''|".*?")|/\*.*?\*/|--.*?(?=$|\Z)','\1',1,0,'nm')
from t
;