简单的正则表达式来匹配前导零

Edg*_*ase 3 java regex

我是否误解了有关 Java 正则表达式的内容?以下内容不应与前导零匹配:

public class Testit {
    public static void main(String[] args) {
        format("0115724848");
    }


    private static void format(String elementToFormat) {
        if (elementToFormat.matches("^0")) {
            System.out.println("leading zero:" + elementToFormat);
        } else {
            System.out.println("no leading zero:" + elementToFormat);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 5

matches尝试将模式与整个输入字符串进行匹配...并且您的输入字符串不仅仅是“字符串开头后跟 0”。

要么您需要"0.*"(正是^不必要的,因为matches将匹配整个字符串),要么您可以创建一个Pattern然后使用:

if (pattern.matcher(text).lookingAt())
Run Code Online (Sandbox Code Playgroud)

当然,不清楚为什么你在这里使用正则表达式,因为你可以使用:

if (text.startsWith("0"))
Run Code Online (Sandbox Code Playgroud)