const regex = new RegExp('! Global keywords\\n\\n(.*?)(?=\\n\\s*\\n)', '')
const str = `
!**************************************************************************************
! Generated with OLGA version 2017.2.0
!**************************************************************************************
!**************************************************************************************
! Global keywords
!**************************************************************************************
OPTIONS FLOWMODEL=OLGAHD
CASE AUTHOR=Schlumberger, PROJECT=OLGA, TITLE="Basic Case"
FILES PVTFILE=./3phase.tab
INTEGRATION ENDTIME=60 M, MAXDT=5 s, MINDT=0.01 s, STARTTIME=0 s, DTSTART=0.01 s
OUTPUT DTOUT=1 h
PROFILE DTPLOT=5 M
TREND DTPLOT=15 s
TRENDDATA VARIABLE=(VOLGBL, HT, GTSOUR)
!**************************************************************************************
! Library keywords
!**************************************************************************************
WALL LABEL="WALL-1", THICKNESS=(0.009, 0.02, 0.02) m, MATERIAL=("MATER-1", "MATER-2", \\
"MATER-2")
WALL LABEL="WALL-2", THICKNESS=(0.0075, 0.02, 0.02) m, MATERIAL=("MATER-1", "MATER-2", \\
"MATER-2")
MATERIAL LABEL="MATER-1", CAPACITY=500 J/kg-C, CONDUCTIVITY=50 W/m-C, DENSITY=7850 kg/m3
MATERIAL LABEL="MATER-2", CAPACITY=880 J/kg-C, CONDUCTIVITY=1 W/m-C, DENSITY=2500 kg/m3
!**************************************************************************************
! Network Component
!**************************************************************************************
NETWORKCOMPONENT TYPE=FLOWPATH, TAG=FP_PIPELINE
PARAMETERS LABEL=PIPELINE
GEOMETRY LABEL="GEOM-1"
PIPE ROUGHNESS=5E-05 m, LABEL="PIPE-1", WALL="WALL-1", NSEGMENT=10, LENGTH=400 m, \\
ELEVATION=10 m, DIAMETER=0.12 m
BRANCH FLUID=Fluid1
HEATTRANSFER LABEL="HEATTRANS-1", TAMBIENT=6 C, HAMBIENT=6.5 W/M2-C
SOURCE LABEL="SOURCE-1", TIME=(0, 10, 20, 30, 40) M, PIPE="PIPE-1", SECTION=1, \\
TEMPERATURE=(62, 62, 62, 62, 62) C, MASSFLOW=(18, 18, 9, 9, 18) KG/S
TRENDDATA PIPE="PIPE-1", SECTION=1, VARIABLE=(HOL, HOLWT, ID, PT, Q2, TM, TU)
TRENDDATA VARIABLE=(OILC, WATC, GASC, OILCFR, WATCFR, GASCFR)
PROFILEDATA VARIABLE=(HOL, PT, TM, QLT, QG, Q2, ID, QLTWT)
SERVERDATA PIPE="PIPE-1", SECTION=1, VARIABLE=(HOL, HOLWT, PT, TM)
SERVERDATA VARIABLE=(HOL, HOLWT, PT, TM)
SERVERDATA VARIABLE=(QLT, QG, QLTWT, ID)
TRENDDATA PIPE="PIPE-1", SECTION=11, VARIABLE=(QT, QG, QLT, QLTHL, QLTWT, QGST, \\
QOST, QWTST, GT, GG, GL)
ENDNETWORKCOMPONENT
!**************************************************************************************
! Network Component
!**************************************************************************************
NETWORKCOMPONENT TYPE=NODE, TAG=NODE_INLET
PARAMETERS LABEL=INLET, TYPE=CLOSED
ENDNETWORKCOMPONENT
!**************************************************************************************
! Network Component
!**************************************************************************************
NETWORKCOMPONENT TYPE=NODE, TAG=NODE_OUTLET
PARAMETERS LABEL=OUTLET, TYPE=PRESSURE, TEMPERATURE=22 C, PRESSURE=5000000 Pa, \\
FLUID=Fluid1
ENDNETWORKCOMPONENT
!**************************************************************************************
! Connections
!**************************************************************************************
CONNECTION TERMINALS = (FP_PIPELINE INLET, NODE_INLET FLOWTERM_1)
CONNECTION TERMINALS = (FP_PIPELINE OUTLET, NODE_OUTLET FLOWTERM_1)
ENDCASE
`;
const subst = ``;
// The substituted value will be contained in the result variable
const result = str.replace(regex, subst);
console.log('Substitution result: ', result);
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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions