Вот я создаю такую модель доменного объекта в виде одного класса, состояние переношу скажем в стейт-машину, и что это получается у меня сервис получился?
-- если устраивает формат по умолчанию, то
SELECT CAST(date_column AS CHAR), ...
-- если нужен какой-то иной формат, то
SELECT DATE_FORMAT(date_column, 'нужный формат'), ...так я получу плоский список, а мне вложенность нужна
\d[\d() -]+\dпросто вынимаешь последовательность цифр, разбавленную исключительно скобками, тире и пробелами. https://regex101.com/r/cYXAwZ/1Очищаешь от нецифр. Проверяешь, что в результате не менее 5 цифр. А там уже решай, что вытащил - телефон или что-то иное...