public final class RegexUtil extends Object
For an example of intended use, see section Testing whether a string is a regular expression in the Checker Framework manual.
Runtime Dependency: Using this class introduces a runtime dependency on the checker-qual package. To eliminate this dependency, you can simply copy this class into your own project.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | RegexUtil.CheckedPatternSyntaxExceptionA checked version of  PatternSyntaxException. | 
| Modifier and Type | Method and Description | 
|---|---|
| static @Regex String | asRegex(String s)Returns the argument as a  @Regex Stringif it is a regex, otherwise throws an error. | 
| static @Regex String | asRegex(String s,
       int groups)Returns the argument as a  @Regex(groups) Stringif it is a regex with at least the
 given number of groups, otherwise throws an error. | 
| static boolean | isRegex(char c)Returns true if the argument is a syntactically valid regular expression. | 
| static boolean | isRegex(String s)Returns true if the argument is a syntactically valid regular expression. | 
| static boolean | isRegex(String s,
       int groups)Returns true if the argument is a syntactically valid regular expression with at least the
 given number of groups. | 
| static @Nullable String | regexError(String s)Returns null if the argument is a syntactically valid regular expression. | 
| static @Nullable String | regexError(String s,
          int groups)Returns null if the argument is a syntactically valid regular expression with at least the
 given number of groups. | 
| static @Nullable PatternSyntaxException | regexException(String s)Returns null if the argument is a syntactically valid regular expression. | 
| static @Nullable PatternSyntaxException | regexException(String s,
              int groups)Returns null if the argument is a syntactically valid regular expression with at least the
 given number of groups. | 
@Pure @EnsuresQualifierIf(result=true, expression="#1", qualifier=Regex.class) public static boolean isRegex(String s)
s - string to check for being a regular expression@Pure @EnsuresQualifierIf(result=true, expression="#1", qualifier=Regex.class) public static boolean isRegex(String s, int groups)
s - string to check for being a regular expressiongroups - number of groups expectedgroups groups@Pure @EnsuresQualifierIf(result=true, expression="#1", qualifier=Regex.class) public static boolean isRegex(char c)
c - char to check for being a regular expression@SideEffectFree public static @Nullable String regexError(String s)
s - string to check for being a regular expression@SideEffectFree public static @Nullable String regexError(String s, int groups)
s - string to check for being a regular expressiongroups - number of groups expected@SideEffectFree public static @Nullable PatternSyntaxException regexException(String s)
s - string to check for being a regular expression@SideEffectFree public static @Nullable PatternSyntaxException regexException(String s, int groups)
s - string to check for being a regular expressiongroups - number of groups expected@SideEffectFree public static @Regex String asRegex(String s)
@Regex String if it is a regex, otherwise throws an error.
 The purpose of this method is to suppress Regex Checker warnings. It should be very rarely
 needed.s - string to check for being a regular expressionError - if argument is not a regex@SideEffectFree public static @Regex String asRegex(String s, int groups)
@Regex(groups) String if it is a regex with at least the
 given number of groups, otherwise throws an error. The purpose of this method is to suppress
 Regex Checker warnings. It should be very rarely needed.s - string to check for being a regular expressiongroups - number of groups expectedError - if argument is not a regex