Class Repetition

java.lang.Object
dev.yasint.regexsynth.dsl.Repetition

public final class Repetition
extends java.lang.Object
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static interface  Repetition.GreedyQuantifier  
    static interface  Repetition.ReluctantQuantifier  
  • Constructor Summary

    Constructors 
    Constructor Description
    Repetition()  
  • Method Summary

    Modifier and Type Method Description
    static Expression between​(int m, int n, Expression expression)
    Appends a between (n,m) quantifier to a expression ({2,4}).
    static Expression exactly​(int times, Expression expression)
    Appends a exactly (n) quantifier to a expression ({6}).
    static Expression exactlyOrMoreTimes​(int times, Expression expression)
    Appends a exactly or more (greedy) quantifier to a expression ({2,}).
    static Expression lazy​(Expression expression)
    Makes a quantifier explicitly lazy.
    static Expression oneOrMoreTimes​(Expression expression)
    Appends a one or more times (greedy) quantifier to a expression (+) [0-9]+ means a number between 0 to 9 one or many times.
    static Expression optional​(Expression expression)
    Appends a one or not at all quantifier to a expression (?).
    static Expression zeroOrMoreTimes​(Expression expression)
    Appends a zero or more times (greedy) quantifier to a expression (*) [0-9]* means a number between 0 to 9 zero or many times.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

  • Method Details

    • oneOrMoreTimes

      public static Expression oneOrMoreTimes​(Expression expression)
      Appends a one or more times (greedy) quantifier to a expression (+) [0-9]+ means a number between 0 to 9 one or many times.
      Parameters:
      expression - repetition of what?
      Returns:
      quantified expression
    • zeroOrMoreTimes

      public static Expression zeroOrMoreTimes​(Expression expression)
      Appends a zero or more times (greedy) quantifier to a expression (*) [0-9]* means a number between 0 to 9 zero or many times.
      Parameters:
      expression - repetition of what?
      Returns:
      quantified expression
    • exactlyOrMoreTimes

      public static Expression exactlyOrMoreTimes​(int times, Expression expression)
      Appends a exactly or more (greedy) quantifier to a expression ({2,}). {2,} means exactly 2 times or more but not 1 times or 0 times
      Parameters:
      times - a number larger than 1
      expression - repetition of what?
      Returns:
      quantified expression
    • optional

      public static Expression optional​(Expression expression)
      Appends a one or not at all quantifier to a expression (?). abc? means "a" followed by "b" and optional "c"
      Parameters:
      expression - optional of what?
      Returns:
      quantified expression
    • exactly

      public static Expression exactly​(int times, Expression expression)
      Appends a exactly (n) quantifier to a expression ({6}). (?:abc){5} means abc exactly 5 times repeated.
      Parameters:
      times - exactly how many times?
      expression - repetition of what?
      Returns:
      quantified expression
    • between

      public static Expression between​(int m, int n, Expression expression)
      Appends a between (n,m) quantifier to a expression ({2,4}). (?:abc){2,4} means abc exactly 2 to 4 times repeated.
      Parameters:
      m - starting range inclusive
      n - ending range inclusive
      expression - repetition of what?
      Returns:
      quantified expression
    • lazy

      public static Expression lazy​(Expression expression)
      Makes a quantifier explicitly lazy. *? ?? +? {x,}? This is an advanced operation. Use it on your own discretion.
      Parameters:
      expression - quantified expression
      Returns:
      lazy-ly quantified expression.