Package net.sf.saxon.regex

## Class Operation.OpBOL

- java.lang.Object
- - net.sf.saxon.regex.Operation
  - - net.sf.saxon.regex.Operation.OpBOL

- Enclosing class:
    Operation

      public static class Operation.OpBOL
      extends Operation

  Beginning of Line (^)

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class net.sf.saxon.regex.Operation

      `Operation.OpAtom, Operation.OpBackReference, Operation.OpBOL, Operation.OpCapture, Operation.OpCharClass, Operation.OpChoice, Operation.OpEndProgram, Operation.OpEOL, Operation.OpGreedyFixed, Operation.OpNothing, Operation.OpReluctantFixed, Operation.OpRepeat, Operation.OpSequence, Operation.OpTrace, Operation.OpUnambiguousRepeat`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `OpBOL()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.String` | `display()` | Display the operation as a regular expression, possibly in abbreviated form
    `int` | `getMatchLength()` | Get the length of the matches returned by this operation if they are fixed-length
    `IntIterator` | `iterateMatches​(REMatcher matcher, int position)` | Get an iterator returning all the matches for this operation
    `int` | `matchesEmptyString()` | Ask whether the regular expression is known, after static analysis, to match a zero-length string

    - ### Methods inherited from class net.sf.saxon.regex.Operation

      `containsCapturingExpressions, getInitialCharacterClass, getMinimumMatchLength, optimize`

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

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

- - ### Constructor Detail

    - #### OpBOL

          public OpBOL()

  - ### Method Detail

    - #### getMatchLength

          public int getMatchLength()

      Description copied from class: `Operation`
      Get the length of the matches returned by this operation if they are fixed-length
      Overrides:
        `getMatchLength` in class `Operation`
      Returns:
        the length of the matches, or -1 if the length is variable

    - #### matchesEmptyString

          public int matchesEmptyString()

      Description copied from class: `Operation`
      Ask whether the regular expression is known, after static analysis, to match a zero-length string
      Specified by:
        `matchesEmptyString` in class `Operation`
      Returns:
        a value indicating whether the regex is statically known to match a zero-length string. Specifically:
        - returns `Operation.MATCHES_ZLS_AT_START` if the expression is statically known to match a zero-length string at the start of the supplied input;
        - returns `Operation.MATCHES_ZLS_AT_END` if it is statically known to return a zero-length string at the end of the supplied input;
        - returns `Operation.MATCHES_ZLS_ANYWHERE` if it is statically known to match a zero-length string anywhere in the input.
        - returns `Operation.MATCHES_ZLS_NEVER` if it is statically known that the regex will never match a zero length string.
        Returning 0 means that it is not known statically whether or not the regex will match a zero-length string; this case typically arises when back-references are involved.

    - #### iterateMatches

          public IntIterator iterateMatches​(REMatcher matcher,
                                            int position)

      Description copied from class: `Operation`
      Get an iterator returning all the matches for this operation
      Specified by:
        `iterateMatches` in class `Operation`
      Parameters:
        `matcher` - supplies the context for the matching; may be updated with information about captured groups
        `position` - the start position to seek a match
      Returns:
        an iterator returning the endpoints of all matches starting at the supplied position

    - #### display

          public java.lang.String display()

      Display the operation as a regular expression, possibly in abbreviated form
      Specified by:
        `display` in class `Operation`
      Returns:
        the operation in a form that is recognizable as a regular expression or abbreviated regular expression