Annotation Interface Regex


If a type is annotated as @Regex(n), then the run-time value is a regular expression with n capturing groups.

For example, if an expression's type is @Regex(2) String, then at run time its value will be a legal regular expression with at least two capturing groups. The type states that possible run-time values include "(a*)(b*)", "a(b?)c(d?)e", and "(.)(.)(.)", but not "hello" nor "(good)bye" nor "(a*)(b*)(".

See the Checker Framework Manual:
Regex Checker
  • Optional Element Summary

    Optional Elements
    Modifier and Type
    Optional Element
    Description
    int
    The number of groups in the regular expression.
  • Element Details

    • value

      int value
      The number of groups in the regular expression. Defaults to 0.
      Default:
      0