There are 2 solutions for this:
1, use one of them at start and other at the end of the Matching Character List:
SELECT REGEXP_REPLACE(column_name, '[^][0-9a-z-]' , '') FROM table_name;
2, using the POSIX Collating Element Operator [.character.]
:
SELECT REGEXP_REPLACE(column_name, '[^[.].][.[.][.-.]0-9a-z]' , '') FROM table_name;