package com.yoursway.rails.commons.internal;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RubyRegexpUtils {
private static final Pattern RUBY_REPLACEMENT_BACKREF = Pattern.compile("\\\\(\\d+)");
public static Pattern compileRubyRegexp(String regexp) {
return Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
}
public static String convertRubyReplacement(String replacement) {
Matcher matcher = RUBY_REPLACEMENT_BACKREF.matcher(replacement);
StringBuffer result = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(result, "\\$$1");
}
matcher.appendTail(result);
return result.toString();
}
}