Возможно извлечение данных с помощью регулярного выражения, для этого вы должны проверить свой AI штрих-кода по AI.
Пример: если ваш штрих-код содержит
<GTIN> <Number of units contained> <Expiration Date> <Net Weight in Kg>
Ваш штрих-код должен начинаться с 01
(для GTIN), за которым следуют 14 цифр.
- В регулярном выражении =
01\d{14}
Тогда ваш штрих-код должен содержать строку 37
(количество содержащихся единиц), за которой следуют от 1 до 8 цифр и заканчиваться непечатным символом FNC1 (29 в десятичном виде, 1D) в гекса)
- в регулярном выражении =
37\d{1,8}\x1D
17
должны следовать (Дата истечения), затем следует 6 цифр (ГГММДД)
- в регулярном выражении = 17 \ d {6}
Наконец, код должен заканчиваться на "310y" (Net Вес), за которыми следуют 6 цифр. «y» в 310y - это положение десятичного разделителя (мин. 0, макс. 5) ( Если у вас есть 3100123456, то вес составляет 123456 кг. Если у вас есть 3101123456, вес составляет 12345,6 кг ... Если у вас есть 3105123456, вес 1,23456 кг )
- в регулярном выражении =
310[0-5]\d{6}
Итак, для этого формата штрих-кода ваш регулярное выражение было (с группой и с escape-символами):
^(01)(\\d{14})(37)(\\d{1,8})\\x1D(17)(\\d{6})(310[0-5])(\\d{6})$
Вы можете проверить все существующие коды (и их регулярные выражения) здесь: https://www.gs1.org/standards/barcodes/application-identifiers