排除特殊字符的正则表达式

Mer*_*cer 2 java regex spring spring-mvc pattern-matching

在 Spring MVC 中进行验证时使用 @Pattern 注解,如下所示:

@Pattern(regexp = "???", message = "#i18n{obligatoire}")
@NotEmpty   
private String stringTest;
Run Code Online (Sandbox Code Playgroud)

我只想排除&角色。 @Pattern(regexp = "^&")这是正确的 ?

Nik*_*las 5

^[^&]*?$是您正在寻找的正则表达式。

@Pattern(regexp = "^[^&]*$")
@NotEmpty   
private String stringTest;
Run Code Online (Sandbox Code Playgroud)

解释:

  • [^&]捕获任何不是的字符&
  • [^&]*捕获所有不存在的字符&
  • ^[^&]*$捕获行上所有不存在的字符(^是行的开头,$是行的结尾)&