我需要找到一个只允许使用字母数字的注册表.到目前为止,我尝试的每个人只有在字符串是字母数字时才有效,这意味着包含字母和数字.我只想要一个允许两者的东西而不需要两者.
我需要一个方法,可以告诉我String是否有非字母数字字符.
例如,如果字符串是"abcdef?" 或"abcdefà",该方法必须返回true.
检查String是否仅包含字母数字字符的最快方法是什么.
我有一些代码会嚼掉很多CPU,我想知道是否会比使用预编译的正则表达式更快.
更新:这么多的投票,关心解释?Stackoverflow不应该用于讨论用于实现任务的算法可能更快?
根据我对正则表达式的理解,字符串"00 ###"必须与"[0-9]"匹配,但不能与"^ [0-9] $"匹配.但它不适用于Java regexp.
在对此问题进行一些调查后,我发现了以下信息(http://www.wellho.net/solutions/java-regular-expressions-in-java.html):
可能看起来Java正则表达式默认使用^和$字符锚定.
我们可以确定所有版本的JDK都适用吗?并且可以关闭此模式(即禁用^和$的默认锚定)?