用java代码,编写正则校验,不能出现“?”、“!”、“$”、“%”、“^”、“*” 字符。(“?”和“!”包含全角和半角两种格式,其他字符为半角字符。)
时间: 2023-10-31 17:05:34 浏览: 182
正则验证不能含有中文的实现方法【jQuery与java实现】
可以使用Java中的正则表达式来实现该校验,代码如下:
```java
public class RegexDemo {
public static void main(String[] args) {
String input = "Hello, world!"; // 待校验的字符串
String pattern = "[^!!\\?$%^*]"; // 匹配除了!!?$%^*以外的字符
boolean isValid = input.matches(pattern);
System.out.println(isValid);
}
}
```
解释一下代码:
- `String pattern = "[^!!\\?$%^*]";`:定义一个正则表达式,`^`表示取反,`!!\\?$%^*`表示要排除的字符,由于`?`和`!`包含两种格式,所以都要写出来。
- `boolean isValid = input.matches(pattern);`:使用`matches()`方法进行校验,返回一个布尔值表示是否匹配。
运行代码后,输出结果为`false`,表示字符串中包含了要排除的字符。如果将字符串中的`!`或`$`等字符替换为其他字符,再次运行代码,则输出结果为`true`,表示字符串符合校验规则。
阅读全文