java 正则匹配时间
时间: 2024-01-14 16:21:27 浏览: 24
以下是使用Java正则表达式匹配时间的示例:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegexDemo {
public static void main(String[] args) {
String input = "The time is 12:34 PM";
String regex = "\\b\\d{1,2}:\\d{2}\\s(?:AM|PM)\\b";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
String match = matcher.group();
System.out.println("Match found: " + match);
} else {
System.out.println("No match found.");
}
}
}
```
这个示例使用正则表达式 `\b\d{1,2}:\d{2}\s(?:AM|PM)\b` 来匹配时间格式,其中:
- `\b` 表示单词边界,确保匹配的时间不会被其他字符包围。
- `\d{1,2}` 表示匹配1到2位数字,用于匹配小时部分。
- `:` 表示匹配冒号。
- `\d{2}` 表示匹配2位数字,用于匹配分钟部分。
- `\s` 表示匹配空格。
- `(?:AM|PM)` 表示匹配AM或PM。
- `\b` 表示单词边界,确保匹配的时间不会被其他字符包围。
如果找到匹配项,将打印出匹配的时间字符串。如果没有找到匹配项,则打印出"No match found."。