0

我正在使用以下模式来匹配我的字符串:

[a-zA-Z0-9]*

即使我传递 String *$#,它也会被正则表达式匹配。有人可以解释我做错了什么或为什么会这样吗?

4

2 回答 2

3

您应该使用^(字符串的开头)和$(字符串的结尾)。

所以,正则表达式将是

^[a-zA-Z0-9]*$

[a-zA-Z0-9]*如果您使用method..Using将匹配字符串中的任何位置,并将匹配从开始到结束的整个输入find^$

如果您使用matches不需要的方法^$因为它会尝试匹配整个字符串

于 2013-03-03T13:08:53.393 回答
2

[a-zA-Z0-9]*表示 0 个或多个这些字符中的任何一个。如果您使用的是Matcher.find(),它会在任何地方/任何地方找到它,因为它可以匹配字符串中的任何地方。

于 2013-03-03T13:08:48.713 回答