### Question:
StringUtil { public boolean isMD5(String test) { return test.matches("[a-fA-F0-9]{32}"); }  List<String> getMatchingLines(String textWithNewlines, String regex); List<String> extractFromMatchingLines(
			String textWithNewlines, String regex); List<String> extractFromMatchingLines(
			String textWithNewlines, String regex, int regexGroupID); List<List<String>> extractFromMatchingLines(
			String textWithNewlines, String regex, int ... regexGroupIDs); static StringUtil getInstance(); String join(Collection<String> strings, String delimiter); boolean isEmpty(String in); String getUnicodeCodeForExtendedChars(String s); String md5(String password); boolean isMD5(String test); String trimForOutput(String str, int maxLength); String trim(String value, int maxLength); List<String> replace(String template, String placeholder, List<?> replacements); String[] replace(String template, String placeholder, T[] replacements); String format(double value, int decimalDigits); String encodeUrl(String urlString); String toHexCode(long number); String hex(long number); boolean isRelativeURL(String url); boolean isAbsoluteURL(String url); String concatURLs(String relativeTo, String fileURL); String replace(String string, String searchPattern, StringReplacer replacer); String replace(String string, String searchPattern, 
			StringReplacer replacer, int regexGroup);  }### Answer:
@Test public void test() { StringUtil str = new StringUtil(); assertFalse(str.isMD5( "_9054025255fb1a26e4bc422aef54eb4")); assertFalse(str.isMD5( "z9054025255fb1a26e4bc422aef54eb4")); assertFalse(str.isMD5( "9054025255fb1a26e4bc422aef54eb4")); assertTrue(str.isMD5( "79054025255fb1a26e4bc422aef54eb4")); }