java正则表达式判断字符串是否包含一个字符串
时间: 2023-10-17 22:08:10 浏览: 163
你可以用 Java 中的 matches() 方法结合正则表达式来判断一个字符串中是否包含另一个字符串。举个例子,假设要判断字符串 str 是否包含字符串 sub:
```java
boolean isContain = str.matches(".*" + sub + ".*");
```
其中,matches() 方法可以通过传入一个正则表达式来判断字符串是否符合该正则表达式的规则。而 ".*" 表示任意字符出现任意次数,因此,".*" + sub + ".*" 的意思就是匹配任意字符出现任意次数后面跟着 sub 再跟着任意字符出现任意次数的字符串。
如果 matches() 方法返回 true,那么说明字符串 str 中包含字符串 sub;否则,说明不包含。
相关问题
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 用正则表达式判断字符串中是否喊@
可以使用正则表达式判断字符串中是否包含@符号,可以使用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”。
阅读全文