以下是Oracle中列定义的示例集:
a1" NUMBER(10,0) CONSTRAINT "ca1" NOT NULL ENABLE,
"a2" NUMBER(10,0) CONSTRAINT "ca2" NOT NULL ENABLE,
"a3" NUMBER(14,0) DEFAULT 0 CONSTRAINT "ca3" NOT NULL ENABLE,
"a4" VARCHAR2(60 CHAR),
"a5" NUMBER(10,0),
"a6" NUMBER(10,0) DEFAULT 0 CONSTRAINT "ca6" NOT NULL ENABLE,
"a7" NUMBER(5,0) DEFAULT 0 CONSTRAINT "ca7" NOT NULL ENABLE,
"a8" NUMBER(5,0) DEFAULT 0 CONSTRAINT "ca8" NOT NULL ENABLE,
"abc" TIMESTAMP (6) DEFAULT SYSDATE NOT NULL ENABLE,
"def" CHAR(3 CHAR) NOT NULL ENABLE,
"ghi" CHAR(3 CHAR) NOT NULL ENABLE,
"XML" CLOB NOT NULL ENABLE,
"jkl" CHAR(6 CHAR),
"mno" NUMBER(*,0),
"pqr" NUMBER(*,0) DEFAULT (0) NOT NULL ENABLE,
这是我到目前为止的正则表达式模式
(?i)("?)(?<colname>\w+)("?)(\s+)(?<type>\w+)((?<typepars>\((\w|\s|\,)+\))?)(\s+default\s+(?<defaultval>(null|\w|\'\s\')+?))?(\s+constraint\s+\"?\w+\"?\s+(?<nullable>not\snull)\senable)?(,?)(\s*)(?-i)
我正在使用
regex101
我的目标环境是.Net。