首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式以筛选不起作用的特殊字符

正则表达式以筛选不起作用的特殊字符
EN

Stack Overflow用户
提问于 2017-11-10 06:28:40
回答 1查看 11.3K关注 0票数 2

我正在搜索一个正则表达式,用于检查用户输入是否包含指定列表中的特殊字符。

下面是我尝试编写的正则表达式不允许使用的特殊字符:^[`~!@#$%^&*()_+={}\[\]|\\:;“’<,>.?๐฿]*$

我去了https://regex101.com/,我希望下面的输入与之匹配,但没有找到原因:

代码语言:javascript
复制
127 elmer road ??<>()

因此,在android (但不是be )中,我编写了以下函数,但它也总是返回true。我如何过滤所有这些特殊的字符。如果给定的字符串不匹配,我需要一个返回true的函数。

代码语言:javascript
复制
  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;
        }

更新:我还尝试了以下内容:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-10 06:45:58

如果给定的字符串不匹配,我需要一个返回true的函数。

你可以否定这个字符集。(注意方括号中的^符号)。对于不包含这些特殊字符的字符串,这将返回true。

代码语言:javascript
复制
^[^`~!@#$%^&*()_+={}\[\]|\\:;“’<,>.?๐฿]*$

https://regex101.com/r/CqtqoK/1

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47216846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档