java 用正则表达式判断字符串中是否喊@
时间: 2023-12-16 15:06:34 浏览: 113
可以使用正则表达式判断字符串中是否包含@符号,可以使用String类中的matches()方法实现。以下是Java代码示例:
```
String str = "this is a string with an @ symbol";
String pattern = ".*@.*";
if (str.matches(pattern)) {
System.out.println("String contains @ symbol");
} else {
System.out.println("String does not contain @ symbol");
}
```
正则表达式解释:
- `.*` 匹配零个或多个任意字符
- `@` 匹配一个 at 符号
- `.*` 匹配零个或多个任意字符
该正则表达式可以匹配包含@符号的任意字符串,如果字符串中包含@符号,则返回“String contains @ symbol”,否则返回“String does not contain @ symbol”。
相关问题
java正则表达式判断字符串是不是时间格式
可以使用Java正则表达式来判断字符串是否符合时间格式。以下是一个示例代码:
```
public static boolean checkIsTimeFormat(String str){
if(str == null || "".equals(str)){
return false;
}
String regex = "^([01]\\d|2[0-3]):([0-5]\\d)$";
Pattern p = Pattern.compile(regex);
Matcher matcher = p.matcher(str);
return matcher.matches();
}
```
该方法使用正则表达式来匹配符合时间格式的字符串,其中正则表达式`^([01]\\d|2[0-3]):([0-5]\\d)$`表示以0或1开头的两位数字,或者以2开头的0到3之间的数字,后面跟着一个冒号,再后面是0到5之间的数字,共计5个字符。如果字符串符合该正则表达式,则返回true,否则返回false。
java 正则表达式判断字符串为数字且长度只能为8或者20位
可以使用如下正则表达式来判断字符串是否为数字且长度为8或20位:
```
^(\\d{8}|\\d{20})$
```
这个正则表达式中,`^` 表示匹配字符串的开头,`$` 表示匹配字符串的结尾,`\\d` 表示匹配数字,`{8}` 和 `{20}` 表示匹配前面的数字字符重复出现8次或20次。`|` 表示或者。
你可以使用 java 中的 `String.matches()` 方法来进行匹配,如下所示:
```java
String str = "12345678";
if (str.matches("^(\\d{8}|\\d{20})$")) {
System.out.println("符合要求");
} else {
System.out.println("不符合要求");
}
```
输出结果为:
```
符合要求
```
再举个例子:
```java
String str = "1234567890";
if (str.matches("^(\\d{8}|\\d{20})$")) {
System.out.println("符合要求");
} else {
System.out.println("不符合要求");
}
```
输出结果为:
```
不符合要求
```
阅读全文