我想在我的字符串中删除以下模式的所有出现。
function my(){document.getElementById("question1").innerHTML="THIS QUESTION"+
"</br>"
+"<button onclick=answer1() id=ques1 >first answ</button>"
+"<button onclick=answer2() id=ques2 >sec answer </button>";
document.getElementById("go").innerHTML="";
}
如何为此创建正则表达式?
基本上,我不想要任何SUPPLEMENTAL LOG GROUP语句。这是由dbms_metadata.get_ddl生成的。
答案 0 :(得分:1)
您可以使用:
WITH cte(R) as (select
'CREATE TABLE TAB (X int)
--- something
SUPPLEMENTAL LOG GROUP "SAMPLESL" ("PIKEY") ALWAYS,
SUPPLEMENTAL LOG GROUP "SAMPLE2" ("UIKEY") ALWAYS,
--else
'
FROM DUAL
)
select R, regexp_replace(R, 'SUPPLEMENTAL LOG GROUP.*', '')
from CTE;
<强> DBFiddle Demo 强>
答案 1 :(得分:0)
在运行DBMS_METADATA.SET_TRANSFORM_PARAM
之前,您还可以使用CONSTRAINTS
将DBMS_METADATA.GET_DDL
(包括SUPPLEMENTAL LOG GROUP)设置为false。但问题是,这也将禁用所有其他非引用表约束的显示。我觉得Oracle应该将SUPPLEMENTAL LOG GROUP
作为单独的转换
参数
EXEC DBMS_METADATA.SET_TRANSFORM_PARAM(DBMS_METADATA.SESSION_TRANSFORM,
'CONSTRAINTS',
FALSE);
select DBMS_METADATA.GET_DDL('TABLE','YOURTABLE','YOURSCHEMA') ddl from dual;
有关更多选项,请参阅SET_TRANSFORM_PARAM。