我正在搜索一个正则表达式,用于检查用户输入是否包含指定列表中的特殊字符。
下面是我尝试编写的正则表达式不允许使用的特殊字符:^[`~!@#$%^&*()_+={}\[\]|\\:;“’<,>.?๐฿]*$
我去了https://regex101.com/,我希望下面的输入与之匹配,但没有找到原因:
127 elmer road ??<>()因此,在android (但不是be )中,我编写了以下函数,但它也总是返回true。我如何过滤所有这些特殊的字符。如果给定的字符串不匹配,我需要一个返回true的函数。
public boolean isValid( EditText et) {
String string = et.getText().toString();
boolean isValid = true;
final Pattern sPattern
= Pattern.compile("^[`~!@#$%^&*()_+={}\\[\\]|\\\\:;“’<,>.?๐฿]*$");
isValid= !sPattern.matcher(string).matches();
return isValid;
}更新:我还尝试了以下内容:

发布于 2017-11-10 06:45:58
如果给定的字符串不匹配,我需要一个返回true的函数。
你可以否定这个字符集。(注意方括号中的^符号)。对于不包含这些特殊字符的字符串,这将返回true。
^[^`~!@#$%^&*()_+={}\[\]|\\:;“’<,>.?๐฿]*$https://stackoverflow.com/questions/47216846
复制相似问题