Вы не сказали, какой язык вы используете, поэтому я предоставил два фрагмента - для Python и для PHP. Но подсказка здесь - шаблон (?=([A-F0-9]{32}))
(см. Примеры ниже).
Решение (Python)
Существует решение, и на Python написано следующее:
>>> import re
>>> data = '8AC905DD4AB2038E5F7EABEAE792AC41BC'
>>> matches = re.finditer(r'(?=([A-F0-9]{32}))', data)
>>> results = [match.group(1) for match in matches]
Test
Результат будет (как в это демо ):
>>> results
['8AC905DD4AB2038E5F7EABEAE792AC41', 'AC905DD4AB2038E5F7EABEAE792AC41B', 'C905DD4AB2038E5F7EABEAE792AC41BC']
что вы и ожидали.
Решение (PHP)
В PHP это может выглядеть так:
<?php
$data = '8AC905DD4AB2038E5F7EABEAE792AC41BC';
$results = array();
preg_match_all('/(?=([A-F0-9]{32}))/', $data, $results);
и $results
будет следующим массивом:
Array
(
[0] => 8AC905DD4AB2038E5F7EABEAE792AC41
[1] => AC905DD4AB2038E5F7EABEAE792AC41B
[2] => C905DD4AB2038E5F7EABEAE792AC41BC
)
См. это демо для доказательства.