我想检查一个与“ =数字”格式匹配的字符串,例如“ = 5455”。

只要第一个字符为“ =”且子序列为[0-9]中的任何数字(不允许使用点),就会弹出“正确”消息。

    if(str.matches("^[=][0-9]+")){
        Window.alert("correct");
        }


那么,这^[=][0-9]+是正确的吗?

如果不正确,您能否提供正确的解决方案?

如果正确,那么您能找到更好的解决方案吗?

最佳答案

我不是正则表达式专家,也不是比我可能更正此答案的知识渊博的人,但是:


我认为使用[=]而不是简单地使用=没有意义-[...]块用于声明多个选择,为什么要声明一个字符的多个选择?
我认为您不需要使用^(如果您输入的字符串在=之前包含任何字符,则无论如何都不匹配)。我不确定它的存在会使您的正则表达式更快,更慢还是没有效果。


最后,我将使用=[0-9]+

关于java - Java Regex检查“= number”,例如“= 5455”吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17828820/

10-09 23:27