01: /*
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */
17:
18: package org.apache.regexp;
19:
20: /**
21: * This is a class that contains utility helper methods for this package.
22: *
23: * @author <a href="mailto:jonl@muppetlabs.com">Jonathan Locke</a>
24: * @version $Id: REUtil.java 518156 2007-03-14 14:31:26Z vgritsenko $
25: */
26: public class REUtil {
27: /** complex: */
28: private static final String complexPrefix = "complex:";
29:
30: /**
31: * Creates a regular expression, permitting simple or complex syntax
32: * @param expression The expression, beginning with a prefix if it's complex or
33: * having no prefix if it's simple
34: * @param matchFlags Matching style flags
35: * @return The regular expression object
36: * @exception RESyntaxException thrown in case of error
37: */
38: public static RE createRE(String expression, int matchFlags)
39: throws RESyntaxException {
40: if (expression.startsWith(complexPrefix)) {
41: return new RE(expression.substring(complexPrefix.length()),
42: matchFlags);
43: }
44: return new RE(RE
45: .simplePatternToFullRegularExpression(expression),
46: matchFlags);
47: }
48:
49: /**
50: * Creates a regular expression, permitting simple or complex syntax
51: * @param expression The expression, beginning with a prefix if it's complex or
52: * having no prefix if it's simple
53: * @return The regular expression object
54: * @exception RESyntaxException thrown in case of error
55: */
56: public static RE createRE(String expression)
57: throws RESyntaxException {
58: return createRE(expression, RE.MATCH_NORMAL);
59: }
60: }
|