我想检查与格式“=number”匹配的字符串,例如“=5455”。
只要第一个字符是“=”,其子序列是[0-9]中的任意数字(不允许使用点),就会弹出“正确”信息。
if(str.matches("^[=][0-9]+")){
Window.alert("correct");
}
那么,这个 ^[=][0-9]+
是正确的吗?
如果不正确,你能提供正确的解决方案吗?
如果是正确的,那么你能找到更好的解决方案吗?
最佳答案
我不是正则表达式专家,比我更有知识的人可能会纠正这个答案,但是:
- 我认为使用
[=]
而不是简单地使用=
没有意义 -[...]
block 是用来声明多项选择,为什么要声明一个字符的多项选择? - 我认为您不需要使用
^
(如果您的输入字符串在=
之前包含任何字符,则无论如何它都不会匹配)。我不确定它的存在是否会使您的正则表达式更快、更慢或没有任何效果。
总之,我会使用 =[0-9]+
关于Java正则表达式检查 "=number",例如 "=5455"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17828820/