我正在尝试将String与Java中的正则表达式进行匹配.
如果我定义正则表达式以匹配这样的数字:
private static final String NUMERIC_CHARS = "[0-9]";
Run Code Online (Sandbox Code Playgroud)
下面的行返回false,其中test = 12345678
test.matches(NUMERIC_CHARS);
Run Code Online (Sandbox Code Playgroud)
我期待这是真的.根据oracle docs,matches()返回"当且仅当整个区域序列与此匹配器的模式匹配时才返回".这不是这种情况吗?在此先感谢您的帮助.
你缺少锚点+(匹配超过1位数),所以使用这个正则表达式:
"[0-9]+"
Run Code Online (Sandbox Code Playgroud)
你的java代码:
private static final String NUMERIC_CHARS = "[0-9]+";
Run Code Online (Sandbox Code Playgroud)