Java正则表达式判断目标字符串由字母、数字、下划线、横线组成,但是不能是纯数字
时间: 2024-02-04 17:02:45 浏览: 30
可以使用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 {
// 匹配失败
}
```
相关问题
Java正则表达式判断目标字符串中包含字母、数字、下划线、横线,并且不能是纯数字
可以使用Java正则表达式中的字符类和限定符来实现该需求。
正则表达式:`^(?=.*[a-zA-Z_-])(?=.*\d)[a-zA-Z\d_-]{2,}$`
解析:
- `^` 表示匹配字符串的开头。
- `(?=.*[a-zA-Z_-])` 表示必须包含字母、下划线或横线。
- `(?=.*\d)` 表示必须包含数字。
- `[a-zA-Z\d_-]{2,}` 表示匹配包含字母、数字、下划线、横线的字符串,且长度至少为2。
- `$` 表示匹配字符串的结尾。
在Java中使用该正则表达式可以使用`java.util.regex`包下的`Pattern`和`Matcher`类来实现,示例代码如下:
```java
String regex = "^(?=.*[a-zA-Z_-])(?=.*\\d)[a-zA-Z\\d_-]{2,}$";
Pattern pattern = Pattern.compile(regex);
String str = "abc123"; // 要匹配的字符串
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
// 匹配成功
} else {
// 匹配失败
}
```
Java正则表达式判断目标字符串中只包含中文、字母、数字、下划线、横线
可以使用Java正则表达式中的字符集来匹配只包含中文、字母、数字、下划线、横线的字符串。可以使用以下正则表达式:
```
^[a-zA-Z0-9_\u4e00-\u9fa5-]+$
```
其中:
- `^` 表示匹配字符串的开头
- `[a-zA-Z0-9_\u4e00-\u9fa5-]` 表示匹配中文、字母、数字、下划线、横线
- `+` 表示匹配前面的字符集一次或多次
- `$` 表示匹配字符串的结尾
使用Java代码可以这样实现:
```java
String regex = "^[a-zA-Z0-9_\\u4e00-\\u9fa5-]+$";
String target = "这是一个包含中文、字母、数字、下划线、横线的字符串_123-abc";
boolean isMatch = target.matches(regex);
System.out.println(isMatch); // 输出 true
```
注意,中括号 `[]` 中的 `-` 表示匹配一个范围内的字符,所以要放在最后。同时,Java中的Unicode编码需要写成 `\uXXXX` 的形式。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)