You'd want to reverse the 'start of line' carrot and the comma though if using this for anything where the first field may be null, otherwise it will return what should be the second field instead of the null first field
select
',UK,244,,Mathews' AS string_key_NULL_1
,REGEXP_SUBSTR(string_key_NULL_1, '(,|^)\K([^,]*)(?=,|$)',1,1) --Result: 'UK'--Incorrect
,REGEXP_SUBSTR(string_key_NULL_1, '(^|,)\K([^,]*)(?=,|$)',1,1) --Result: Null--Correct Result
,'RES,UK,244,,Mathews' AS string_key_NON_NULL_1
,REGEXP_SUBSTR(string_key_NON_NULL_1, '(,|^)\K([^,]*)(?=,|$)',1,1) --Result: 'RES'--Correct Result (Because first field is not null)
,REGEXP_SUBSTR(string_key_NON_NULL_1, '(^|,)\K([^,]*)(?=,|$)',1,1) --Result: 'RES'--Correct Result