Java正则表达式判断目标字符串由字母、数字、下划线、横线组成,但是不能是纯数字
时间: 2024-02-04 22:02:45 浏览: 90
JS判断输入的字符串是否是数字的方法(正则表达式)
可以使用Java正则表达式中的字符类和限定符来实现该需求。
正则表达式:`^(?!\\d+$)[a-zA-Z\\d_-]+$`
解析:
- `^` 表示匹配字符串的开头。
- `(?!\\d+$)` 表示负向预查,排除纯数字的情况。
- `[a-zA-Z\\d_-]+` 表示匹配包含字母、数字、下划线、横线的字符串。
- `$` 表示匹配字符串的结尾。
在Java中使用该正则表达式可以使用`java.util.regex`包下的`Pattern`和`Matcher`类来实现,示例代码如下:
```java
String regex = "^(?!\\d+$)[a-zA-Z\\d_-]+$";
Pattern pattern = Pattern.compile(regex);
String str = "abc123"; // 要匹配的字符串
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
// 匹配成功
} else {
// 匹配失败
}
```
阅读全文