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);
5
задан stema 15 March 2012 в 14:44
поделиться