From cf6e74e631ba674384a6d121256c7f7c24041fb9 Mon Sep 17 00:00:00 2001 From: cdjole Date: Wed, 22 Aug 2018 21:46:47 +0200 Subject: [PATCH] Single regex example added (#5036) --- .../StringContainingCharactersUnitTest.java | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java b/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java index 75548f4d73..3303ebffbe 100644 --- a/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java +++ b/java-strings/src/test/java/com/baeldung/string/StringContainingCharactersUnitTest.java @@ -11,6 +11,8 @@ public class StringContainingCharactersUnitTest { private static final Pattern[] inputRegexes = new Pattern[4]; + private static final String regex = "^(?=.*?\\p{Lu})(?=.*?[\\p{L}&&[^\\p{Lu}]])(?=.*?\\d)" + "(?=.*?[`~!@#$%^&*()\\-_=+\\\\\\|\\[{\\]};:'\",<.>/?]).*$"; + static { inputRegexes[0] = Pattern.compile(".*[A-Z].*"); inputRegexes[1] = Pattern.compile(".*[a-z].*"); @@ -95,4 +97,25 @@ public class StringContainingCharactersUnitTest { invalidInput = "b3;"; assertFalse(checkString(invalidInput)); } + + @Test + public void givenSingleRegex_whenMatchingCorrectString_thenMatches() { + String validInput = "Ab3;"; + assertTrue(Pattern.compile(regex).matcher(validInput).matches()); + } + + @Test + public void givenSingleRegex_whenMatchingWrongStrings_thenNotMatching() { + String invalidInput = "Ab3"; + assertFalse(Pattern.compile(regex).matcher(invalidInput).matches()); + + invalidInput = "Ab;"; + assertFalse(Pattern.compile(regex).matcher(invalidInput).matches()); + + invalidInput = "A3;"; + assertFalse(Pattern.compile(regex).matcher(invalidInput).matches()); + + invalidInput = "b3;"; + assertFalse(Pattern.compile(regex).matcher(invalidInput).matches()); + } }