EAN128 или GS1-128 декодируют c #

Вот образец EAN128 или новое имя штрих-кода GS1-128

01088888931021461712031510W1040190

Я хочу расшифровать его в AIS

(01) 08888893102146
(17) 120315
(10) W1040190

Но штрих-код можно изменить следующим образом

1712031510W1040190
(17) 120315
(10) W1040190

Есть ли какие-либо возможные способы решить это с помощью регулярных выражений или как лучше

Сейчас я пытаюсь это

public String AICodes(String pAI)
    {
        switch (pAI)
        {
            case "01":
                return "01\\d{14}";
            case "17":
                return "17\\d{6}";
            case "10":
                return "17\\d{6}10[a-zA-Z0-9|]{1,20}";
        }
        return String.Empty;
    }

private void GS1DataConvert(string pBarcode, string pBarfnc)
    {
       Match match = Regex.Match(pBarcode, AICodes(pBarfnc));
        if (match.Success)
        {
            MessageBox.Show(match.Groups[0].Value);
        }
    }

string barfnc = "01";

GS1DataConvert(barcode, barfnc);
barfnc = "17";
GS1DataConvert(barcode, barfnc);
barfnc = "10";
GS1DataConvert(barcode, barfnc);

Ответы на вопрос(0)

Ваш ответ на вопрос