$re = '/^\[SF_KAFKA_CONNECTOR\] (?<message>.*) \((?<code_reference>[^ ]*)\)$/m';
$str = '[SF_KAFKA_CONNECTOR] deleted sink/account_entitlements_staging/0/22446382_22446393_1585089396398.json.gz from stage SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging (com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:95)
[SF_KAFKA_CONNECTOR] purge 2 files from stage: SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging (com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:79)
[SF_KAFKA_CONNECTOR] generated file name: sink/account_entitlements_staging/0/22446400_22446402_1585089458654.json.gz (com.snowflake.kafka.connector.internal.FileNameUtils:45)
[SF_KAFKA_CONNECTOR] flush buffer: 3 records, 35866 bytes, offset 22446400 - 22446402 (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:95)
[SF_KAFKA_CONNECTOR] put file sink/account_entitlements_staging/0/22446400_22446402_1585089458654.json.gz to stage SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging (com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:95)
[SF_KAFKA_CONNECTOR] ingest file: sink/account_entitlements_staging/0/22446400_22446402_1585089458654.json.gz (com.snowflake.kafka.connector.internal.SnowflakeIngestionServiceV1:95)
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0, flush pipe: sink/account_entitlements_staging/0/22446400_22446402_1585089458654.json.gz (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0: flusher flushed (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:95)
[SF_KAFKA_CONNECTOR] generated file name: sink/account_entitlements_staging/0/22446403_22446411_1585089489491.json.gz (com.snowflake.kafka.connector.internal.FileNameUtils:45)
[SF_KAFKA_CONNECTOR] flush buffer: 9 records, 94748 bytes, offset 22446403 - 22446411 (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:95)
[SF_KAFKA_CONNECTOR] put file sink/account_entitlements_staging/0/22446403_22446411_1585089489491.json.gz to stage [2020-03-25 02:19:06,168] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Cluster ID: l8tlDKPoQn25uMmLW2-taw (org.apache.kafka.clients.Metadata:266)
[2020-03-25 02:19:06,170] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Discovered group coordinator chi-staging-kafka-872s9z2.nr-ops.net:9092 (id: 2147483541 rack: null) (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:728)
[2020-03-25 02:19:06,173] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Revoking previously assigned partitions [] (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator:476)
[2020-03-25 02:19:06,176] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] (Re-)joining group (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:505)
[2020-03-25 02:19:07,291] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Successfully joined group with generation 105 (org.apache.kafka.clients.consumer.internals.AbstractCoordinator:469)
[2020-03-25 02:19:07,297] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Setting newly assigned partitions: account_entitlements-0 (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator:283)
[2020-03-25 02:19:07,379] INFO [Consumer clientId=connector-consumer-sink-0, groupId=connect-sink] Setting offset for partition account_entitlements-0 to the committed offset FetchPosition{offset=22447142, offsetEpoch=Optional.empty, currentLeader=LeaderAndEpoch{leader=chi-staging-kafka-jv8xnx2.nr-ops.net:9092 (id: 4 rack: ord1), epoch=-1}} (org.apache.kafka.clients.consumer.internals.ConsumerCoordinator:525)
[2020-03-25 02:19:07,381] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:open, TopicPartitions: [account_entitlements-0] (com.snowflake.kafka.connector.SnowflakeSinkTask:170)
[2020-03-25 02:19:08,058] INFO
[SF_KAFKA_CONNECTOR] initialized the pipe connector for pipe RAW.KAFKA.SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0 (com.snowflake.kafka.connector.internal.SnowflakeIngestionServiceV1:79)
[2020-03-25 02:19:08,060] INFO
[SF_KAFKA_CONNECTOR] pipe: SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0 - service started (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:08,962] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 209 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:08,964] INFO
[SF_KAFKA_CONNECTOR] init pipe: SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0 (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:09,552] INFO
[SF_KAFKA_CONNECTOR] Using existing table account_entitlements_staging. (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:10,094] INFO
[SF_KAFKA_CONNECTOR] list stage SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging retrieved 1 file names (com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:79)
[2020-03-25 02:19:10,094] INFO
[SF_KAFKA_CONNECTOR] Using existing stage SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging. (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:10,786] INFO
[SF_KAFKA_CONNECTOR] list stage SNOWFLAKE_KAFKA_CONNECTOR_sink_STAGE_account_entitlements_staging retrieved 1 file names (com.snowflake.kafka.connector.internal.SnowflakeConnectionServiceV1:79)
[2020-03-25 02:19:11,551] INFO
[SF_KAFKA_CONNECTOR] read load history between 2020-03-25T02:10:14Z and 2020-03-25T02:19:10Z. retrieved 0 records. (com.snowflake.kafka.connector.internal.SnowflakeIngestionServiceV1:79)
[2020-03-25 02:19:11,909] INFO
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0 : Recovered 1 files (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:11,910] INFO
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0, recovered from existing pipe (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:11,912] INFO
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0: cleaner started (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:11,914] INFO
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0: flusher started (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)
[2020-03-25 02:19:11,918] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 9 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:12,211] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 0 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:12,212] INFO WorkerSinkTask{id=sink-0} Committing offsets asynchronously using sequence number 1: {account_entitlements-0=OffsetAndMetadata{offset=22447143, leaderEpoch=null, metadata=\'\'}} (org.apache.kafka.connect.runtime.WorkerSinkTask:345)
[2020-03-25 02:19:22,221] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 0 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:32,223] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 0 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:42,224] INFO
[SF_KAFKA_CONNECTOR] SnowflakeSinkTask[ID:0]:put 0 records (com.snowflake.kafka.connector.SnowflakeSinkTask:205)
[2020-03-25 02:19:44,386] INFO
[SF_KAFKA_CONNECTOR] pipe SNOWFLAKE_KAFKA_CONNECTOR_sink_PIPE_account_entitlements_staging_0, flush pipe: sink/account_entitlements_staging/0/22447346_22447359_1585102781881.json.gz (com.snowflake.kafka.connector.internal.SnowflakeSinkServiceV1:79)';
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