Regexp Match not validating

I have a magic etl with a Formula using REGEXP. It doesn't validate but I am wondering if I can even do what I'm doing. I want to extract all values between 2 string characters.

Field Value (snip)
DECODE(TRUE,
IN(LTRIM(RTRIM(deposit_account_type__)),'410'),'Brokered',
IN(LTRIM(RTRIM(deposit_account_type__)),'411'),'CDS Listing Service',
IN(LTRIM(RTRIM(deposit_account_type__)),'408'),'Long Term - 1 Year or More',

Expected Output

Brokered

CDS Listing Service

Long Term - 1 Year or More

Formula

REGEXP('(?<='),')(.*)(?=',)')

Validation Error:
Calculation Error : Syntax error in expression at character 0 on line 1: REGEXP('(?<=\'\),')(.*)(?=\',)')

What I am trying to do is Match using REGEXP. Here is a link to my Regular Expression with a snippet of the field value.

https://regex101.com/r/NnhiL6/1

Best Answer

  • ArborRose
    ArborRose Coach
    Answer ✓

    The regular expression you're trying seems to be incorrect.

    Explanation:

    • (?<=,\'): Positive lookbehind assertion to match the position right after ', without including it in the match.
    • (.*?): Non-greedy matching of any character (.*?) between the ', and ',.
    • (?=\',): Positive lookahead assertion to match the position right before ', without including it in the match.

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **

Answers

  • ArborRose
    ArborRose Coach
    Answer ✓

    The regular expression you're trying seems to be incorrect.

    Explanation:

    • (?<=,\'): Positive lookbehind assertion to match the position right after ', without including it in the match.
    • (.*?): Non-greedy matching of any character (.*?) between the ', and ',.
    • (?=\',): Positive lookahead assertion to match the position right before ', without including it in the match.

    ** Was this post helpful? Click Agree or Like below. **
    ** Did this solve your problem? Accept it as a solution! **