drop table tab1 purge;
create table tab1(col1 varchar2(100));
insert into tab1 values('Gladstone Branch to Liberty State Park - ''~(`|¤|6:00am-10:00am) 6:00am-10:00am');
select regexp_replace(col1,'[^a-zA-Z0-9: -]') from tab1;
drop table tab1 purge;
create table tab1(col1 varchar2(100));
insert into tab1 values('''~(`|¤|football)~''');
insert into tab1 values('''~(`|¤|{link:10098}|Mobile, Alabama,)~''');
insert into tab1 values('blahblah''~(`|¤|football)~''blahblahblah');
insert into tab1 values('Gladstone Branch to Liberty State Park - ''~(`|¤|6:00am-10:00am)~''');
commit;
select regexp_replace(col1,'([^'']*)(.*\|)(.*)(\).*[''])(.*)','\1\3\5') from tab1;
select regexp_replace('blablablab
What '[^a-zA-Z0-9 ]' does is says if it is NOT '^' a lowercase letter, a-z, an upper case letter, A-Z, a number, 0-9 or a space (just inside the closing ']'), replace it with nothing.