Я использую именованные группы регулярных выражений в .NET для поиска частей отсканированной строки штрих-кода. RegEx можно добавить в конфигурацию, чтобы система могла быть адаптирована для различных макетов штрих-кода.
Это нормально работает, но у меня есть одна ситуация, с которой я не могу заставить работать:
Пример штрих-кода:
17C002101/1803
Регулярное выражение:
(?<LotNumber>.{9})(/)(?<ExpDate>.{4})
Это отлично работает и извлекает это:
Номер лота: 17C002101 Срок действия: 1803 г.
Теперь мне также нужно извлечь «TestCode», который на самом деле является частью совпадения «LotNumber», в данном случае последние четыре цифры, поэтому «2101»
Есть ли способ сделать это или мне нужно создать несколько регулярных выражений, чтобы это работало?





Если ваша третья группа является частью другой и совпадений не происходит, вы можете просто вложить эти группы.
(?<LotNumber>.{5}(?<TestCode>.{4}))(/)(?<ExpDate>.{4})