首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >空字符有可能通过正则表达式吗?

问空字符有可能通过正则表达式吗?
EN

Stack Overflow用户
提问于 2016-04-22 13:54:24
回答 2查看 1.3K关注 0票数 0

/So我在Java中使用这个正则表达式只允许字母或数字作为用户输入:

代码语言:javascript
复制
if (!string.matches("[a-zA-Z0-9]*")) {
    //Not allowed
}

这就解决了问题,我已经检查了这个元素是否存在,所以不需要检查它是否为空。只有0或更多匹配的字符。

在进行此检查之后,用户输入将存储到XML文件中。不知何故,用户能够在这个正则表达式之后获得一个空字符,因此在试图读取文件时,我会得到以下错误:

(0x0)不允许特殊字符

所以我很好奇,能绕过这种正则表达式吗?或者这肯定是其他原因造成的?目前,这看起来是最有可能的原因,但我不确定我是否正确地使用了正则表达式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-22 13:58:22

*量词匹配在0到无限倍之间,尽可能多次匹配,并根据需要返回。空字符串可以通过你的正则表达式。

示例:https://regex101.com/r/jZ2hI7/1 (请注意,它为1匹配空文本)

票数 1
EN

Stack Overflow用户

发布于 2016-04-22 14:02:05

将[a-zA-Z0-9]*更改为[a-zA-Z0-9]+。星号("*")将允许零字符。

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

https://stackoverflow.com/questions/36795724

复制
相关文章

相似问题

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