ты говоришь вся строка должна быть 12 или 13 символов long включая лидирующие пробелы? Это будет работать в большинстве регулярных выражений вкусов:
^(?=.{12,13}$)\s*[A-Za-z0-9]+$
Я не уверен, о ABAP, хотя. Многие поисковые запросы, которые я нашел, показывают, что он поддерживает lookaheads, но если вы действительно используете стандартные регулярные выражения POSIX, это не сработает. Вероятно, вам придется выполнить проверку длины в отдельном тесте.
UPDATE: Чтобы предотвратить совпадение всех нулей, вам нужно добавить еще один предпросмотр:
^(?=.{12,13}$)(?!0+$)\s*[A-Za-z0-9]+$
UPDATE 2: Это просто произошло со мной, что вы, вероятно, не хотят строки например " 000000000"
- т.е. все нули плюс начальные пробелы. Это регулярное выражение будет охватывать, что:
^(?=.{12,13}$)(?!\s*0+$)\s*[A-Za-z0-9]+$
Вы можете поместить некоторые примеры (текст для разбора и текста для извлечения/обнаружения) –
например: «ABCDEFGHIJ» – user2991913
я полагаю не косого пространства? –