正则表达式删除额外的字符

Moh*_*mad 1 regex coldfusion

在将[^a-z0-9+\ ,#\-.]标签保存到我的数据库之前,我正在使用此模式过滤标签.

它起着不良副作用的作用; 它删除重音:instalação成为instalao

知道如何在坚持模式的同时保持口音完整吗?

我正在使用ColdFusion,所以我认为它基于Java Regex,但我可能错了.

我的目的是允许字母(带重音符号),0到9个阿拉伯数字,点和哈希.

Bar*_*ers 5

根据文档 \w匹配任何(Unicode)字母,数字和下划线.如果你不想要下划线,你可以这样做:

[^[:alpha:]0-9#.-]
Run Code Online (Sandbox Code Playgroud)

其中[:alpha:]匹配任何(Unicode)字母.如果要匹配0-9范围之外的数字,请尝试:

[^[:alnum:]##.-]
Run Code Online (Sandbox Code Playgroud)

注意,额外的哈希来逃避ColdFusion自己的标签,否则会导致格式错误的标签/变量错误.