diff --git a/friendly-id/src/main/java/com/devskiller/friendly_id/Base62.java b/friendly-id/src/main/java/com/devskiller/friendly_id/Base62.java index c6a1c66..ada4f61 100644 --- a/friendly-id/src/main/java/com/devskiller/friendly_id/Base62.java +++ b/friendly-id/src/main/java/com/devskiller/friendly_id/Base62.java @@ -18,6 +18,7 @@ class Base62 { private static final BigInteger BASE = BigInteger.valueOf(62); private static final String DIGITS = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; + private static final Pattern DIGITS_PATTERN = Pattern.compile("[" + DIGITS + "]*"); /** * Encodes a number using Base62 encoding. @@ -63,7 +64,7 @@ static BigInteger decode(final String string, int bitLimit) { return throwIllegalArgumentException("String '%s' must not be empty", string); } - if (!Pattern.matches("[" + DIGITS + "]*", string)) { + if (!DIGITS_PATTERN.matcher(string).matches()) { throwIllegalArgumentException("String '%s' contains illegal characters, only '%s' are allowed", string, DIGITS); }