If i understand correctly, just check that it does not appear twice ?
where instr(name, '#') =1 and instr(name, '#', 1, 2) = 0
Thanks for your support.
You can do that with regular expressions:
WHERE REGEXP_LIKE (name, '^#[^#}*$')
but this will probably be slower than using less powerful tools, such as INSTR (like Pacmann did above) or LIKE
WHERE name LIKE '#%'
AND name NOT LIKE '_%#%'