Package net.sf.saxon.regex

## Class REProgram

- java.lang.Object
- - net.sf.saxon.regex.REProgram

-     public class REProgram
      extends java.lang.Object

  A class that holds compiled regular expressions.

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `REProgram​(Operation operation, int parens, REFlags flags)` | Constructs a program object from a character array

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `int` | `getBacktrackingLimit()` |
    `UnicodeString` | `getPrefix()` | Returns a copy of the prefix of current regular expression program in a character array.
    `boolean` | `isNullable()` | Ask whether the regular expression is known statically to match a zero length string
    `void` | `setBacktrackingLimit​(int limit)` |

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### REProgram

          public REProgram​(Operation operation,
                           int parens,
                           REFlags flags)

      Constructs a program object from a character array
      Parameters:
        `operation` - Array with RE opcode instructions in it. The "next"
        `parens` - Count of parens in the program pointers within the operations must already have been converted to absolute offsets.
        `flags` - the regular expression flags

  - ### Method Detail

    - #### setBacktrackingLimit

          public void setBacktrackingLimit​(int limit)

    - #### getBacktrackingLimit

          public int getBacktrackingLimit()

    - #### isNullable

          public boolean isNullable()

      Ask whether the regular expression is known statically to match a zero length string
      Returns:
        true if the regex is known statically to match a zero length string. If the result is true, then there is definitely a match; if the result is false, then it is not known statically whether there is a match (this arises when the expression contains back-references).

    - #### getPrefix

          public UnicodeString getPrefix()

      Returns a copy of the prefix of current regular expression program in a character array. If there is no prefix, or there is no program compiled yet, `getPrefix` will return null.
      Returns:
        A copy of the prefix of current compiled RE program