java正则表达式,不能输入引号(单引号和双引号)以及特殊字符<、>、#和&

我写的是^[^`尀&quot;&lt;&gt;#&]*$ 但是貌似不对 求解啊。
2025-05-22 02:26:25
推荐回答(4个)
回答(1):

//写了两个,不知你要的效果是什么
String s3 = "a'b\"ce#f&g";

//替换所有非法字符
//结果:  a*b*c*d*e*f*g
System.out.println(s3.replaceAll("['\"<>#&]", "*"));

//替换所有非 非法字符
//结果:  *'*"*<*>*#*&*
System.out.println(s3.replaceAll("[^'\"<>#&]", "*"));

回答(2):

[^`\"<>#&] 这个就可以了,不用加前面的 和后面的

回答(3):

你的主要错在这个*号上了,这个表示任意个,逻辑就不通了,可以用+

回答(4):

特殊字符必须要用\转义