正则表达式中捕获特殊字符时出错

我写了一个正则表达式来捕获输入字符串中的特殊字符,但它也捕获了数字。 这是正则表达式,

final String REGEX="[^.,%*$#@?^'|/\\\\~\\[\\]{}+-=\"]*"; 

我只需要抓住上面提到的字符。 请帮帮我。

您使用未转义的连字符创建了一个范围。

错位的连字符使模式匹配这些字符:

在此处输入图像描述

在课程结束时逃离连字符或位置:

 final String REGEX="[^.,%*$#@?^'|/\\\\~\\[\\]{}+=\"-]*"; ^ 

这是这个正则表达式演示

将连字符( - )移动到角色类的末尾:

 final String REGEX="[^.,%*$#@?^'|/\\\\~\\[\\]{}+=\"-]*" 

当前位置( +-= ),表示从+=的范围。 此范围包括ao所有数字。