@Retention(value=RUNTIME) @Target(value={TYPE_USE,TYPE_PARAMETER}) @Repeatable(value=MultiRegex.class) @SubtypeOf(value=UnknownRegex.class) public @interface Regex
@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*)(".
public abstract int value
public abstract String param
public abstract Wildcard wildcard