There are many issues here. Both characters above are not in the range you specified in the first place.
ā¶ to_charlist "š°"
#ā [128176]
ā¶ to_charlist "š²"
#ā [128178]
ā¶ 0x1F600
#ā 128512
To make it work for the range with \u
, just interpolate the literals (I voluntarily changed the starting value for the range to what it probably should be):
ā¶ Regex.replace(~r/[#{"\u{1F000}"}-#{"\u{1F6FF}"}]/u, "š° Monies! š²", "")
" Monies! "
\x
will work out of the box with a proper range:
Regex.replace(~r/[\x{1F000}-\x{1F6FF}]/u, "š° Monies! š²", "")
" Monies! "