$re = '/(?:(?:from|join)(?:\s|\()+((?:\w*\.\w*)+)(?:\s|\))+)/i';
$str = 'SELECT T.IDP_WAREHOUSE_ID
,T.IDP_AUDIT_ID
,T.IDP_DATA_ID
,T.IDP_DATA_DATE
,T.TRADESYSTEM
,T.SOURCESYSTEM
,T.SUBSYSTEM
,T.TRADEDATE
,T.VALUATIONDATE
,T.TRADEID
,T.TRADETYPE
,T.TRADESTATUS
,T.MAPPEDTRADESTATUS
,T.RAWBOOKINGLOCATION
,T.MAPPEDBOOKINGLOCATION
,T.BOOKINGLOCREGION
,T.CMCIFBOOKINGLOCATION
,T.CMCIFBOOKINGLOCATIONREGION
,T.COUNTERPARTYACCOUNTID
,T.COUNTERPARTYSHORTNAME
,T.COUNTERPARTYTYPE
,T.CUSTOMERNAME
,T.CUSTOMERADDRESS
,T.CUSTOMERCOUNTRYCODE
,T.CUSTOMERCOUNTRYNAME
,T.CAMLO_RISK
,T.US_BSA_RISK
,T.RISKRATING
,T.PRODUCTTYPE
,T.PRODUCT
,T.CMCIFPRODUCTTYPE
,T.QUANTITY
,T.PRICE
,T.CURRENCY
,T.CURRENCY_ISO_CODE
,T.CURRENCY_DESCRIPTION
,T."VALUE"
,T.TRADERID
,T.TRANSACTIONACTIVITY
,T.SOURCETRADEID
,T.TRADESEQUENCENUMBER
,T.BASECURRENCY
,T.BASECURRPRICE
,T.BASECURRQUANTITY
,T.BASECURRVALUE
,T.ISIN
,T.CUSIP
,T.RESP
,T.FACILITY_GLOBAL_COMMITMENT
,T.FACILITY_HOST_BANK_NET_AMT
,T.MAP_TRADESYSTEM
,T.MAP_ACCOUNTFIELDNAME
,T.MAP_COUNTERPARTYACCOUNTID
,T.MAP_CUID
,T.MAP_CIF
,T.MAP_UEN
,RC.RAW AS CHICAGO_RAW
,RC.RESPONSIBILITY_CENTER AS CHICAGO_RESPONSIBILITY_CENTER
,RC.DESK AS CHICAGO_DESK
,RC.BUSINESS_SEGMENT AS CHICAGO_BUSINESS_SEGMENT
,RC.LOB AS CHICAGO_LOB
,RC.OPERATING_GROUP AS CHICAGO_OPERATING_GROUP
,AFF.RAW AS AFF_RAW
,ISS.RAW AS ISS_RAW
,EC1.ENTITYCOUNTRY AS REGISTRATION_COUNTRY
,EC2.ENTITYCOUNTRY AS PRINCIPAL_PLACE_OF_BUSINESS
,ENT.CIF AS ENT_CIF
,ENT.UEN AS ENT_UEN
,ENT.ENTITYLEGALNAME AS ENT_ENTITYLEGALNAME
,ENT.ENTITYADDRESS AS ENT_ENTITYADDRESS
,ENT.ENTITYACCOUNTNUMBER AS ENT_ENTITYACCOUNTNUMBER
,ENT.ENTITYSTATUS AS ENT_ENTITYSTATUS
,ENT.IFI_FLAG AS ENT_IFI_FLAG
,ENT.SICCAN AS ENT_SICCAN
,ENT.SICUS AS ENT_SICUS
,ENT.NBFI_312 AS ENT_NBFI_312
,ENT.NBFI_NON_312 AS ENT_NBFI_NON_312
,ENT.RMA AS ENT_RMA
,ENT.SICCAN_DESC AS ENT_SICCAN_DESC
,ENT.SICUS_DESC AS ENT_SICUS_DESC
,ENT.P_AND_C AS ENT_P_AND_C
,ENT.OFAC AS ENT_OFAC
,ENT.RMA_ONLY AS ENT_RMA_ONLY
,ENT.CONN_UEN AS ENT_CONN_UEN
,ENT.CM_INDICATOR AS ENT_CM_INDICATOR
,ENT.BMO_RESP AS ENT_BMO_RESP
,ENT.HARRIS_RESP AS ENT_HARRIS_RESP
,ENT.PRIM_IND AS ENT_PRIM_IND
,ENT.PM_CODE AS ENT_PM_CODE
,APPR.CUSTOMER_NAME AS APPR_CUSTOMER_NAME
,APPR.UEN AS APPR_UEN
,APPR.COUNTRY AS APPR_COUNTRY
,APPR.CONDITIONAL_APPROVAL AS APPR_CONDITIONAL_APPROVAL
,APPR.PRODUCTS AS APPR_PRODUCTS
,APPR_FI.CUSTOMER_NAME AS APPR_FI_CUSTOMER_NAME
,APPR_FI.UEN AS APPR_FI_UEN
,APPR_FI.COUNTRY AS APPR_FI_COUNTRY
,APPR_FI.CONDITIONAL_APPROVAL AS APPR_FI_CONDITIONAL_APPROVAL
,APPR_FI.PRODUCTS AS APPR_FI_PRODUCTS
,APMS.UEN AS APMS_UEN
,APMS.CIF AS APMS_CIF
,APMS.ENTITY_LEGAL_NAME AS APMS_ENTITY_LEGAL_NAME
,APMS.ENTITY_SHORT_NAME AS APMS_ENTITY_SHORT_NAME
,APMS.OWNERSHIP_CLASS AS APMS_OWNERSHIP_CLASS
,APMS.ENTITY_CLASSIFICATION AS APMS_ENTITY_CLASSIFICATION
,APMS.ASSET_CLASSIFICATION AS APMS_ASSET_CLASSIFICATION
,APMS.BMO_RC AS APMS_BMO_RC
,APMS.ENTITY_TYPE AS APMS_ENTITY_TYPE
,APMS.TIN_SSN AS APMS_TIN_SSN
FROM (
(
(
(
(
(
(
(
(
(
SELECT A.IDP_WAREHOUSE_ID
,A.IDP_AUDIT_ID
,A.IDP_DATA_ID
,A.IDP_DATA_DATE
,A.TRADESYSTEM
,A.SOURCESYSTEM
,A.SUBSYSTEM
,A.TRADEDATE
,A.VALUATIONDATE
,A.TRADEID
,A.TRADETYPE
,A.TRADESTATUS
,A.MAPPEDTRADESTATUS
,A.RAWBOOKINGLOCATION
,A.MAPPEDBOOKINGLOCATION
,A.BOOKINGLOCREGION
,A.CMCIFBOOKINGLOCATION
,A.CMCIFBOOKINGLOCATIONREGION
,A.COUNTERPARTYACCOUNTID
,A.COUNTERPARTYSHORTNAME
,A.COUNTERPARTYTYPE
,A.CUSTOMERNAME
,A.CUSTOMERADDRESS
,A.CUSTOMERCOUNTRYCODE
,A.CUSTOMERCOUNTRYNAME
,A.CAMLO_RISK
,A.US_BSA_RISK
,A.RISKRATING
,A.PRODUCTTYPE
,A.PRODUCT
,A.CMCIFPRODUCTTYPE
,A.QUANTITY
,A.PRICE
,A.CURRENCY
,A.CURRENCY_ISO_CODE
,A.CURRENCY_DESCRIPTION
,A."VALUE"
,A.TRADERID
,A.TRANSACTIONACTIVITY
,A.SOURCETRADEID
,A.TRADESEQUENCENUMBER
,A.BASECURRENCY
,A.BASECURRPRICE
,A.BASECURRQUANTITY
,A.BASECURRVALUE
,A.ISIN
,A.CUSIP
,A.RESP
,A.FACILITY_GLOBAL_COMMITMENT
,A.FACILITY_HOST_BANK_NET_AMT
,MAP.TRADESYSTEM AS MAP_TRADESYSTEM
,MAP.ACCOUNTFIELDNAME AS MAP_ACCOUNTFIELDNAME
,MAP.COUNTERPARTYACCOUNTID AS MAP_COUNTERPARTYACCOUNTID
,MAP.CUID AS MAP_CUID
,MAP.CIF AS MAP_CIF
,CASE
WHEN (A.TRADESYSTEM = \'LIQ\'::"VARCHAR")
THEN A.COUNTERPARTYACCOUNTID
ELSE ("VARCHAR" (MAP.UEN))::VARCHAR(16)
END AS MAP_UEN
FROM (
BLUEHOUSE.V_TRANSACTIONS A LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITYMAPPING MAP ON (
(
(
(A.COUNTERPARTYACCOUNTID = UPPER(BTRIM(MAP.COUNTERPARTYACCOUNTID)))
AND (UPPER(A.TRADESYSTEM) = UPPER(MAP.TRADESYSTEM))
)
AND (
MAP.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITYMAPPING.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITYMAPPING
)
)
)
)
)
) T LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_REF_CHICAGO_RCMAPPING RC ON (
(
(RC.RAW = T.RESP)
AND (RC.IDP_END_DATE = \'2099-12-31\'::DATE)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_REF_CHICAGO_AFFILIATED_RCS AFF ON (
(
(AFF.RAW = T.RESP)
AND (AFF.IDP_END_DATE = \'2099-12-31\'::DATE)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_REF_CHICAGO_BOOKING_ISSUES_RCS ISS ON (
(
(ISS.RAW = T.RESP)
AND (ISS.IDP_END_DATE = \'2099-12-31\'::DATE)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY EC1 ON (
(
(
(
EC1.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY
)
)
AND (("VARCHAR" (EC1.UEN))::VARCHAR(16) = T.MAP_UEN)
)
AND (UPPER(EC1.ENTITYADDRESSTYPE) = \'REGISTERED\'::"VARCHAR")
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY EC2 ON (
(
(
(
EC2.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIESCOUNTRY
)
)
AND (("VARCHAR" (EC2.UEN))::VARCHAR(16) = T.MAP_UEN)
)
AND (UPPER(EC2.ENTITYADDRESSTYPE) = \'PRINCIPAL PLACE OF BUSINESS\'::"VARCHAR")
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIES ENT ON (
(
(
ENT.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIES.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_ENTITIES
)
)
AND (("VARCHAR" (ENT.UEN))::VARCHAR(16) = T.MAP_UEN)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_312 APPR ON (
(
(
APPR.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_312.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_312
)
)
AND (("VARCHAR" (APPR.UEN))::VARCHAR(16) = T.MAP_UEN)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_FI APPR_FI ON (
(
(
APPR_FI.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_FI.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APPROVED_US_FI
)
)
AND (("VARCHAR" (APPR_FI.UEN))::VARCHAR(16) = T.MAP_UEN)
)
)
) LEFT JOIN IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APMS_ENTITIES APMS ON (
(
(
APMS.IDP_DATA_ID = (
SELECT MAX(IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APMS_ENTITIES.IDP_DATA_ID) AS MAX
FROM IDP_PRD_LEVEL1.BLUEHOUSE.L1_WRK_APMS_ENTITIES
)
)
AND (("VARCHAR" (APMS.UEN))::VARCHAR(16) = T.MAP_UEN)
)
)
)
WHERE (
(UPPER(T.CMCIFBOOKINGLOCATION) ~ ~ LIKE_ESCAPE(\'%CHICAGO%\'::"VARCHAR", \'\\\'::"VARCHAR"))
OR (T.RESP = AFF.RAW)
);
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 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