@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