package com.gorillalogic.monkeytalk.test.matchers; import java.util.regex.Pattern; import org.hamcrest.Description; import org.hamcrest.Factory; import org.hamcrest.Matcher; import org.junit.internal.matchers.TypeSafeMatcher; public class RegexMatcher extends TypeSafeMatcher<String> { private final Pattern pattern; public RegexMatcher(String regex) { this.pattern = Pattern.compile(regex); } @Override public void describeTo(Description description) { description.appendText("regex pattern ").appendValue(pattern); } @Override public boolean matchesSafely(String item) { return pattern.matcher(item).matches(); } @Factory public static Matcher<String> regex(String regex) { return new RegexMatcher(regex); } }