Преобразование UUID из одного формата в другой
Вопрос
У меня есть документ SQL, отформатированный следующим образом (он содержит около 3000 таких записей):
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('99b857afcb2e4f7dbf8657ea916ad9d7',FALSE,'SPACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('df8480e333c044f08ada939c66fa13f5',FALSE,'AIR')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('ad3e38a5e28f40ba8234bb8727936963',FALSE,'SURFACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('58f23ec0b9d141ed89dba8ce2f0fd377',FALSE,'SUBSURFACE')
INSERT INTO DATA(UUID, IS_SIMULATED, ENVIRONMENT) VALUES('244182c8e53247529bd55f54c527bdbf',FALSE,'LAND')
Мне нужно отформатировать все строки UUID, включив в них тире, например:
550e8400-e29b-41d4-a716-446655440000
Есть ли простой способ проанализировать это и отформатировать UUID так, как они мне нужны, не делая этого вручную?
Решение
Попробуйте это регулярное выражение:
'([0-9a-f]{8})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{4})([0-9a-f]{12})'
и замените совпадения на '$1-$2-$3-$4-$5'
.
Не связан с StackOverflow