| PatternUtils.java |
/*
* $Id: PatternUtils.java,v 1.6 2010/09/29 17:21:48 agoubard Exp $
*
* See the COPYRIGHT file for redistribution and use restrictions.
*/
package org.xins.common.text;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.xins.common.MandatoryArgumentChecker;
import org.xins.common.ProgrammingException;
import org.xins.common.Utils;
/**
* Regular expressions related utility functions.
*
* @version $Revision: 1.6 $ $Date: 2010/09/29 17:21:48 $
* @author <a href="mailto:anthony.goubard@japplis.com">Anthony Goubard</a>
*
* @since XINS 2.0
*/
public final class PatternUtils {
/**
* Constructs a new <code>PatternUtils</code> object.
*/
private PatternUtils() {
// empty
}
/**
* Compiles the given regular expression to a Perl5 pattern object.
*
* @param regexp
* the String value of the Perl5 regular expresssion, cannot be <code>null</code>.
*
* @return
* the Perl5 pattern, never <code>null</code>
*
* @throws IllegalArgumentException
* if <code>regexp == null</code>.
*
* @throws ProgrammingException
* if the pattern cannot be complied.
*
* @since XINS 2.0
*/
public static Pattern createPattern(String regexp) throws IllegalArgumentException, ProgrammingException {
MandatoryArgumentChecker.check("regexp", regexp);
try {
Pattern pattern = Pattern.compile(regexp, Pattern.CASE_INSENSITIVE);
return pattern;
} catch (PatternSyntaxException exception) {
throw Utils.logProgrammingError(exception);
}
}
}