SoFunction
Updated on 2025-03-04

@Pattern Annotation for verifying whether a string complies with a specific regular expression

@PatternIs an annotation for verifying whether a string complies with a specific regular expression. It is commonly used in Java to verify the format of input data. The following is@PatternDetailed explanation and usage of annotations:

meaning

@PatternAnnotations are used to annotate fields in Java to ensure that their values ​​match the specified regular expression. This annotation can be applied to class attributes, method parameters, and return values.

property

  • regexp:This is@PatternThe core property of the annotation, which accepts a string value, which is a regular expression that defines the pattern to match.
  • message: This is an optional property that defines the error message returned when validation fails.
  • flags: This is an optional property that specifies the matching flag of a regular expression, such asCASE_INSENSITIVE(Case insensitive).

How to use

@PatternAnnotations can be used with Spring's data binding and verification frameworks, such as verifying request parameters in Spring MVC controllers.

Sample code

java

import ;
public class User {
    @Pattern(regexp = "^[a-zA-Z0-9]{4,8}$", message = "Usernames can only contain letters and numbers, with a length of 4 to 8 characters")
    private String username;
    //Omit other fields and getter/setter methods}

In this example,usernameFields are annotated to contain only letters and numbers, and must be between 4 and 8 characters in length. If the entered username does not match this regular expression, the specified error message will be returned.

Regular expression metacharacter

  • ^Indicates the start position of the matching string.
  • $Indicates the end position of the matching string.
  • *Indicates that the previous character is zero or multiple times.
  • +Indicates that the previous character is matched once or more times.
  • ?Indicates that the previous character is zero or once.
  • .Indicates matching any single character.
  • |Denotes logical "OR".
  • []Used to define a character set and match any character in square brackets.
  • ()Used for grouping.

Things to note

  • When used@PatternWhen annotating, make sure the regular expression is correct, otherwise it will cause verification logic errors.
  • messageAttributes can customize error messages to improve user experience.
  • @PatternAnnotations are usually with@Validor@ValidatedAnnotations are used together, which is used to enable method-level verification.

This is the article about @Pattern's annotation for verifying whether a string complies with a specific regular expression. For more related @Pattern's verification of whether a string complies with a specific regular expression, please search for my previous article or continue browsing the related articles below. I hope everyone will support me in the future!