package cuke4duke.internal.language; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class JdkPatternArgumentMatcher { public static List<StepArgument> argumentsFrom(Pattern regexp, String stepName) throws UnsupportedEncodingException { Matcher matcher = regexp.matcher(stepName); if (matcher.matches()) { List<StepArgument> arguments = new ArrayList<StepArgument>(); for (int i = 1; i <= matcher.groupCount(); i++) { arguments.add(new StepArgument(matcher.group(i), matcher.start(i), stepName)); } return arguments; } else { return null; } } }