$re = '/(?<=CONTRAINT)(.*)(?="ACCOUNT_ID")/';
$str = ' CREATE TABLE "SALES"."ACCOUNT_"
( "ORGANIZATION_ID" CHAR(15) NOT NULL ENABLE,
"ACCOUNT_ID" CHAR(15) NOT NULL ENABLE,
"DIVISION" NUMBER NOT NULL ENABLE,
"OWNER" CHAR(15) NOT NULL ENABLE,
"DELETED" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE,
"PARENT_ID" CHAR(15) NOT NULL ENABLE,
"CURRENCY_ISO_CODE" CHAR(3) NOT NULL ENABLE,
"SUPPRESS_TERRITORY_RULES" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE,
"SYSTEM_MODSTAMP" DATE DEFAULT SYSDATE NOT NULL ENABLE,
"LAST_UPDATE" DATE DEFAULT SYSDATE NOT NULL ENABLE,
"CREATED_DATE" DATE DEFAULT SYSDATE NOT NULL ENABLE,
"CREATED_BY" CHAR(15) NOT NULL ENABLE,
"LAST_UPDATE_BY" CHAR(15) NOT NULL ENABLE,
"PERSON_CONTACT_ID" CHAR(15) NOT NULL ENABLE,
"SHORT_DESCRIPTION" VARCHAR2(4000),
"RECORD_TYPE_ID" CHAR(15),
"LAST_ACTIVITY" DATE,
"SS_ENABLED" CHAR(1),
"SS_LAST_LOGIN" DATE,
"ACCOUNT_NUMBER" VARCHAR2(120),
"NAME" VARCHAR2(765),
"NAME_LOCAL" VARCHAR2(765),
"PHONE1" VARCHAR2(120),
"PHONE2" VARCHAR2(120),
"ADDRESS1_STREET" VARCHAR2(765),
"ADDRESS1_CITY" VARCHAR2(120),
"ADDRESS1_STATE" VARCHAR2(240),
"ADDRESS1_ZIP" VARCHAR2(60),
"ADDRESS1_COUNTRY" VARCHAR2(240),
"SITE" VARCHAR2(240),
"ADDRESS2_STREET" VARCHAR2(765),
"ADDRESS2_CITY" VARCHAR2(120),
"ADDRESS2_STATE" VARCHAR2(240),
"ADDRESS2_ZIP" VARCHAR2(60),
"ADDRESS2_COUNTRY" VARCHAR2(240),
"URL" VARCHAR2(765),
"SIC" VARCHAR2(60),
"SALES" NUMBER,
"EMPLOYEES" NUMBER,
"TYPE_ENUM" NUMBER,
"INDUSTRY_ENUM" NUMBER,
"OWNERSHIP_ENUM" NUMBER,
"RATING_ENUM" NUMBER,
"TICKER" VARCHAR2(60),
"FIRST_NAME" VARCHAR2(299),
"LAST_NAME" VARCHAR2(531),
"SALUTATION_ENUM" NUMBER,
"MASTER_RECORD_ID" CHAR(15),
"ROW_VERSION" NUMBER DEFAULT 1,
"USE_SALESFORCE" CHAR(1) DEFAULT NULL,
"JIGSAW_KEY" VARCHAR2(20),
"CLEAN_STATUS" CHAR(1) NOT NULL ENABLE,
"ACCOUNT_SOURCE_ENUM" NUMBER,
"DUNS_NUMBER" VARCHAR2(27),
"DBA_NAME" VARCHAR2(765),
"NAICS_CODE" VARCHAR2(24),
"NAICS_DESC" VARCHAR2(360),
"YEAR_STARTED" VARCHAR2(12),
"SIC_DESC" VARCHAR2(240),
"D_AND_B_COMPANY_ID" CHAR(15),
"ADDRESS1_STATE_CODE" VARCHAR2(30),
"ADDRESS1_COUNTRY_CODE" VARCHAR2(30),
"ADDRESS2_STATE_CODE" VARCHAR2(30),
"ADDRESS2_COUNTRY_CODE" VARCHAR2(30),
"SKIP_CLEAN" CHAR(1) DEFAULT \'0\' NOT NULL ENABLE,
"ADDRESS1_LATITUDE" NUMBER,
"ADDRESS1_LONGITUDE" NUMBER,
"ADDRESS1_XYZ" VARCHAR2(120),
"ADDRESS2_LATITUDE" NUMBER,
"ADDRESS2_LONGITUDE" NUMBER,
"ADDRESS2_XYZ" VARCHAR2(120),
"PREFERRED_ADDRESS" VARCHAR2(240),
"PREFERRED_ADDRESS_LOCAL" VARCHAR2(240),
"LANGUAGE" VARCHAR2(15),
"LOCALE" VARCHAR2(15),
"TIME_ZONE" VARCHAR2(32),
"SUFFIX" VARCHAR2(120),
"MIDDLE_NAME" VARCHAR2(299),
"MIDDLE_NAME_LOCAL" VARCHAR2(120),
"ADDRESS1_ACCURACY" VARCHAR2(240),
"ADDRESS2_ACCURACY" VARCHAR2(240),
"OPERATING_HOURS_ID" CHAR(15),
"GLOBAL_PARTY_ID" VARCHAR2(255),
CONSTRAINT "PKACCOUNTI" PRIMARY KEY ("ORGANIZATION_ID", "ACCOUNT_ID")
USING INDEX PCTFREE 1 INITRANS 2 MAXTRANS 255 NOLOGGING
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "PTI01" LOCAL
(PARTITION "ACCOUNT01"
TABLESPACE "PTI01" ,
PARTITION "ACCOUNT02"
TABLESPACE "PTI02" ,
PARTITION "ACCOUNT03"
TABLESPACE "PTI03" ,
PARTITION "ACCOUNT04"
TABLESPACE "PTI04" ,
PARTITION "ACCOUNT05"
TABLESPACE "PTI05" ,
PARTITION "ACCOUNT06"
TABLESPACE "PTI06" ,
PARTITION "ACCOUNT07"
TABLESPACE "PTI07" ,
PARTITION "ACCOUNT08"
TABLESPACE "PTI08" ,
PARTITION "ACCOUNT09"
TABLESPACE "PTI09" ,
PARTITION "ACCOUNT10"
TABLESPACE "PTI10" ,
PARTITION "ACCOUNT11"
TABLESPACE "PTI11" ,
PARTITION "ACCOUNT12"
TABLESPACE "PTI12" ,
PARTITION "ACCOUNT13"
TABLESPACE "PTI13" ,
PARTITION "ACCOUNT14"
TABLESPACE "PTI14" ,
PARTITION "ACCOUNT15"
TABLESPACE "PTI15" ,
PARTITION "ACCOUNT16"
TABLESPACE "PTI16" ,
PARTITION "ACCOUNT17"
TABLESPACE "PTI17" ,
PARTITION "ACCOUNT18"
TABLESPACE "PTI18" ,
PARTITION "ACCOUNT19"
TABLESPACE "PTI19" ,
PARTITION "ACCOUNT20"
TABLESPACE "PTI20" ,
PARTITION "ACCOUNT21"
TABLESPACE "PTI21" ,
PARTITION "ACCOUNT22"
TABLESPACE "PTI22" ,
PARTITION "ACCOUNT23"
TABLESPACE "PTI23" ,
PARTITION "ACCOUNT24"
TABLESPACE "PTI24" ,
PARTITION "ACCOUNT25"
TABLESPACE "PTI25" ,
PARTITION "ACCOUNT26"
TABLESPACE "PTI26" ,
PARTITION "ACCOUNT27"
TABLESPACE "PTI27" ,
PARTITION "ACCOUNT28"
TABLESPACE "PTI28" ,
PARTITION "ACCOUNT29"
TABLESPACE "PTI29" ,
PARTITION "ACCOUNT30"
TABLESPACE "PTI30" ,
PARTITION "ACCOUNT31"
TABLESPACE "PTI31" ,
PARTITION "ACCOUNT32"
TABLESPACE "PTI32" ) COMPRESS 1 ENABLE
) PCTFREE 5 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOLOGGING
STORAGE(
BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
TABLESPACE "PTD01"
PARTITION BY HASH ("ORGANIZATION_ID")
(PARTITION "ACCOUNT01" SEGMENT CREATION DEFERRED
TABLESPACE "PTD01"
NOCOMPRESS ,
PARTITION "ACCOUNT02" SEGMENT CREATION DEFERRED
TABLESPACE "PTD02"
NOCOMPRESS ,
PARTITION "ACCOUNT03" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD03"
NOCOMPRESS ,
PARTITION "ACCOUNT04" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD04"
NOCOMPRESS ,
PARTITION "ACCOUNT05" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD05"
NOCOMPRESS ,
PARTITION "ACCOUNT06" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD06"
NOCOMPRESS ,
PARTITION "ACCOUNT07" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD07"
NOCOMPRESS ,
PARTITION "ACCOUNT08" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD08"
NOCOMPRESS ,
PARTITION "ACCOUNT09" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD09"
NOCOMPRESS ,
PARTITION "ACCOUNT10" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD10"
NOCOMPRESS ,
PARTITION "ACCOUNT11" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD11"
NOCOMPRESS ,
PARTITION "ACCOUNT12" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD12"
NOCOMPRESS ,
PARTITION "ACCOUNT13" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD13"
NOCOMPRESS ,
PARTITION "ACCOUNT14" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD14"
NOCOMPRESS ,
PARTITION "ACCOUNT15" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD15"
NOCOMPRESS ,
PARTITION "ACCOUNT16" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD16"
NOCOMPRESS ,
PARTITION "ACCOUNT17" SEGMENT CREATION DEFERRED
TABLESPACE "PTD17"
NOCOMPRESS ,
PARTITION "ACCOUNT18" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD18"
NOCOMPRESS ,
PARTITION "ACCOUNT19" SEGMENT CREATION DEFERRED
TABLESPACE "PTD19"
NOCOMPRESS ,
PARTITION "ACCOUNT20" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD20"
NOCOMPRESS ,
PARTITION "ACCOUNT21" SEGMENT CREATION DEFERRED
TABLESPACE "PTD21"
NOCOMPRESS ,
PARTITION "ACCOUNT22" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD22"
NOCOMPRESS ,
PARTITION "ACCOUNT23" SEGMENT CREATION DEFERRED
TABLESPACE "PTD23"
NOCOMPRESS ,
PARTITION "ACCOUNT24" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD24"
NOCOMPRESS ,
PARTITION "ACCOUNT25" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD25"
NOCOMPRESS ,
PARTITION "ACCOUNT26" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD26"
NOCOMPRESS ,
PARTITION "ACCOUNT27" SEGMENT CREATION DEFERRED
TABLESPACE "PTD27"
NOCOMPRESS ,
PARTITION "ACCOUNT28" SEGMENT CREATION DEFERRED
TABLESPACE "PTD28"
NOCOMPRESS ,
PARTITION "ACCOUNT29" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD29"
NOCOMPRESS ,
PARTITION "ACCOUNT30" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD30"
NOCOMPRESS ,
PARTITION "ACCOUNT31" SEGMENT CREATION IMMEDIATE
TABLESPACE "PTD31"
NOCOMPRESS ,
PARTITION "ACCOUNT32" SEGMENT CREATION DEFERRED
TABLESPACE "PTD32"
NOCOMPRESS ) ';
preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php