Class CharClasses

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

public final class CharClasses
extends java.lang.Object
Contains all the set constructs and character classes. RegexSynth supports all the POSIX character classes.
Since:
1.0.0
  • Constructor Details

  • Method Details

    • anything

      public static Expression anything()
      Matches any character, possibly including newline \n if the 's' RegexSynth.Flags DOTALL flag is turned on.
      Returns:
      match anything
    • negated

      public static Expression negated​(Expression set)
      Simply converts a given set to a negated character class. [^acd]. This is a impure function. Because it mutates the source set.
      Parameters:
      set - source set to convert
      Returns:
      negated set expression
    • union

      public static Expression union​(Expression setA, Expression setB)
      Performs a union operation on two sets
      Parameters:
      setA - source set
      setB - target set
      Returns:
      result
    • difference

      public static Expression difference​(Expression setA, Expression setB)
    • intersection

      public static Expression intersection​(Expression setA, Expression setB)
    • includeUnicodeScript

      public static Expression includeUnicodeScript​(Expression set, UnicodeScript script, boolean negated)
    • rangedSet

      public static Expression rangedSet​(java.lang.String from, java.lang.String to)
      Creates a ranged regex charclass. i.e. [A-Z]
      Parameters:
      from - staring char inclusive (surrogates or bmp)
      to - ending char inclusive (surrogates or bmp)
      Returns:
      set expression
    • rangedSet

      public static Expression rangedSet​(int codepointA, int codepointB)
      Creates a ranged regex charclass. i.e. [A-Z]
      Parameters:
      codepointA - staring codepoint inclusive
      codepointB - ending codepoint inclusive
      Returns:
      set expression
    • simpleSet

      public static Expression simpleSet​(java.lang.String... characters)
      Creates a simple regex charclass i.e. [135] will be optimized if it's a valid range. for example: if you pass a,b,c,d,f it will create [a-df]. but if you pass elements like a,z then it will only create a set for those two element without ranges [az]
      Parameters:
      characters - characters (surrogates or bmp)
      Returns:
      set expression
    • simpleSet

      public static Expression simpleSet​(int... codepoints)
      Parameters:
      codepoints - codepoints
      Returns:
      set expression
    • emptySet

      public static Expression emptySet()
      Constructs an empty set. This is useful when you only want to include unicode scripts into a set expression.
      Returns:
      empty set expression