Убедитесь, что вы попробуйте все возможные значения в этой первой позиции, даже те, которые вы не ожидаете, и убедитесь, что они обрабатываются так, как вы хотите. Всегда ожидайте неожиданного! Это регулярное выражение соответствует первой подгруппе, состоящей из нуля или более необязательных цифр (допускает возврат значения NULL), после которого следует дополнительный пробел, затем точка с запятой или конец строки. Возможно, вам придется ужесточить (или ослабить) правила сопоставления для вашей ситуации, просто обязательно проверяйте даже на неправильные значения, особенно если ввод поступает из введенных пользователем данных.
with tbl(id, str) as (
select 1, '135 ;1111776698 ;AB555678765' from dual union all
select 2, ' 135 ;1111776698 ;AB555678765' from dual union all
select 3, '135;1111776698 ;AB555678765' from dual union all
select 4, ';1111776698 ;AB555678765' from dual union all
select 5, ';135 ;1111776698 ;AB555678765' from dual union all
select 6, ';;1111776698 ;AB555678765' from dual union all
select 7, 'xx135 ;1111776698 ;AB555678765' from dual union all
select 8, '135;1111776698 ;AB555678765' from dual union all
select 9, '135xx;1111776698 ;AB555678765' from dual
)
select id, regexp_substr(str, '(\d*?)( ?;|$)', 1, 1, NULL, 1) element_1
from tbl
order by id;
ID ELEMENT_1
---------- ------------------------------
1 135
2 135
3 135
4
5
6
7 135
8 135
9
9 rows selected.