# Class REProgram

java.lang.Object
com.codename1.util.regex.REProgram

public class REProgram extends Object
A class that holds compiled regular expressions. You should not need to work directly with this class.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `REProgram(char[] instruction)`
  Constructs a program object from a character array
  `REProgram(char[] instruction, int lenInstruction)`
  Constructs a program object from a character array
  `REProgram(int parens, char[] instruction)`
  Constructs a program object from a character array

- ## Method Summary

  Modifier and Type
  Method
  Description
  `char[]`
  `getInstructions()`
  Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program.
  `char[]`
  `getPrefix()`
  Returns a copy of the prefix of current regular expression program in a character array.
  `void`
  `setInstructions(char[] instruction, int lenInstruction)`
  Sets a new regular expression program to run.

  ### Methods inherited from class Object

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

- ## Constructor Details

  - ### REProgram

    public REProgram(char[] instruction)

    Constructs a program object from a character array

    ###### Parameters

    - `instruction`: Character array with RE opcode instructions in it

  - ### REProgram

    public REProgram(int parens, char[] instruction)

    Constructs a program object from a character array

    ###### Parameters

    - `parens`: Count of parens in the program

    - `instruction`: Character array with RE opcode instructions in it

  - ### REProgram

    public REProgram(char[] instruction, int lenInstruction)

    Constructs a program object from a character array

    ###### Parameters

    - `instruction`: Character array with RE opcode instructions in it

    - `lenInstruction`: Amount of instruction array in use

- ## Method Details

  - ### getInstructions

    public char[] getInstructions()

    Returns a copy of the current regular expression program in a character array that is exactly the right length to hold the program. If there is no program compiled yet, getInstructions() will return null.

    ###### Returns

    A copy of the current compiled RE program

  - ### setInstructions

    public void setInstructions(char[] instruction, int lenInstruction)

    Sets a new regular expression program to run. It is this method which performs any special compile-time search optimizations. Currently only two optimizations are in place - one which checks for backreferences (so that they can be lazily allocated) and another which attempts to find a prefix anchor string so that substantial amounts of input can potentially be skipped without running the actual program.

    ###### Parameters

    - `instruction`: Program instruction buffer

    - `lenInstruction`: Length of instruction buffer in use

  - ### getPrefix

    public char[] 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