/** * 编译对应的pattern,返回oro的Pattern对象 */ private Pattern[] compilePatterns(String[] source) { Perl5Compiler compiler = new Perl5Compiler(); Pattern[] destination = new Pattern[source.length]; for (int i = 0; i < source.length; i++) { try { destination[i] = compiler.compile(source[i], Perl5Compiler.READ_ONLY_MASK); } catch (MalformedPatternException ex) { throw new AsyncLoadException(ex.getMessage()); } } return destination; }
throw new RuntimeException(exc.getMessage());
/** * Sets the regular expression to match against during a call to #matches * * @param rexpr the regular expression **/ public void setExpression(String rexpr) { if (rexpr != null) { try { // -- patch and compile expression Perl5Compiler compiler = new Perl5Compiler(); _regexp = (Perl5Pattern) compiler.compile(BOL + rexpr + EOL, Perl5Compiler.SINGLELINE_MASK); } catch (MalformedPatternException ex) { String err = "RegExp Syntax error: "; err += ex.getMessage(); err += " ; error occured with the following " + "regular expression: " + rexpr; throw new IllegalArgumentException(err); } } else _regexp = null; } // -- setExpression
throw new RuntimeException(exc.getMessage());
/** * Sets the regular expression to match against during * a call to #matches * * @param rexpr the regular expression **/ public void setExpression(String rexpr) { if (rexpr != null) { try { //-- patch and compile expression Perl5Compiler compiler = new Perl5Compiler(); _regexp = (Perl5Pattern) compiler.compile(BOL + rexpr + EOL, Perl5Compiler.SINGLELINE_MASK); } catch(MalformedPatternException ex) { String err = "RegExp Syntax error: "; err += ex.getMessage(); err += " ; error occured with the following "+ "regular expression: " + rexpr; throw new IllegalArgumentException(err); } } else _regexp = null; } //-- setExpression
public GlobMatcher(String expression) throws PatternSyntaxException { this.expression = expression; try { pattern = new GlobCompiler().compile(expression); } catch (MalformedPatternException e) { throw new PatternSyntaxException(e.getMessage(), expression, 0); } }
/** * Initialize ORO fields from patterns String[]. */ protected void initPatternRepresentation(String[] patterns) throws IllegalArgumentException { this.compiledPatterns = new Pattern[patterns.length]; Perl5Compiler compiler = new Perl5Compiler(); for (int i = 0; i < patterns.length; i++) { // compile the pattern to be thread-safe try { this.compiledPatterns[i] = compiler.compile(patterns[i], Perl5Compiler.READ_ONLY_MASK); } catch (MalformedPatternException ex) { throw new IllegalArgumentException(ex.getMessage()); } } this.matcher = new Perl5Matcher(); }
/** * Compile regexp parameter. * * @param name The name of the parameter. * @param value The parameter value. * @return Pattern[] The compiled patterns, or <code>null</code>. * @throws PluginException On malformed patterns. */ private Pattern[] compileGlobs( String name, String value ) throws PluginException { Pattern[] result = null; if( value != null && 0 < value.length() && !STR_GLOBSTAR.equals( value ) ) { try { PatternCompiler pc = new GlobCompiler(); String[] ptrns = StringUtils.split( value, STR_COMMA ); result = new Pattern[ptrns.length]; for( int n = 0; n < ptrns.length; n++ ) { result[n] = pc.compile( ptrns[n] ); } } catch( MalformedPatternException e ) { throw new PluginException( "Parameter " + name + " has a malformed pattern: " + e.getMessage() ); } } return result; }
throw new PluginException("Exclude-parameter has a malformed pattern: "+e.getMessage()); throw new PluginException("Include-parameter has a malformed pattern: "+e.getMessage());
public ValidationRule build(Element validationRuleElement) throws Exception { RegExpValidationRule rule = new RegExpValidationRule(); String regexp = DomHelper.getAttribute(validationRuleElement, "pattern"); buildFailMessage(validationRuleElement, rule); Perl5Compiler compiler = new Perl5Compiler(); Pattern pattern; try { pattern = compiler.compile(regexp, Perl5Compiler.READ_ONLY_MASK); } catch (MalformedPatternException e) { throw new Exception("Invalid regular expression at " + DomHelper.getLocation(validationRuleElement) + ": " + e.getMessage()); } rule.setPattern(regexp, pattern); buildFailMessage(validationRuleElement, rule); return rule; }
} catch(MalformedPatternException e) { System.err.println("Failed to compile pattern"); System.err.println(e.getMessage()); return false;
Debug.logInfo(" " + ELEMENT_URLPATTERN + ": " + urlpattern, module); } catch (MalformedPatternException e) { Debug.logWarning("Can NOT parse " + urlpattern + " in element " + ELEMENT_URLPATTERN + " of " + ELEMENT_EXCEPTIONS + ". Error: " + e.getMessage(), module);