Регулярное выражение для определенных чисел

#regex

#регулярное выражение

Вопрос:

Я пытаюсь извлечь из отчета два конкретных числа 0103 и 0101 . Как мне это сделать?

 ^.*b(0101|0103)b.*$
  

Это только дало мне 0101 .

Комментарии:

1. Являются ли числа частью строки большего размера, и вам нужна целая строка или только это число само по себе?

2. Как вы извлекаете числа? Как выглядит входная строка?

3. Это регулярное выражение должно работать, если оба числа не отображаются в одной строке — тогда оно найдет только последнее, которое встречается, потому что первое .* уже совпало со всем, что было до него.

Ответ №1:

Это регулярное выражение должно работать:

 b010[13]b
  

Комментарии:

1. Рад узнать, что это сработало, можете ли вы отметить ответ как принятый, нажав на галочку в левом верхнем углу моего ответа.

Ответ №2:

Пожалуйста, попробуйте это :

 ((?:0101|0103))
  

без ^ и $-> Если вы сохраните оба символа, то программа найдет всю строку и выполнит поиск только один раз.
Затем вам нужно выполнить цикл, чтобы перехватить каждый элемент.

Надеюсь, это поможет