Annotation Type Regex


  • @Documented
    @Retention(RUNTIME)
    @Target({TYPE_USE,TYPE_PARAMETER})
    @SubtypeOf(UnknownRegex.class)
    public @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 value
      The number of groups in the regular expression.
    • Element Detail

      • value

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