java编写一个应用程序,用户从键盘输入一行字符串,程序输出该字符串中与模式[24680]A[13579]{2}匹配的子字符串
时间: 2024-11-30 13:22:02 浏览: 6
在Java中编写这样一个应用程序,你可以创建一个简单的控制台应用,利用正则表达式来匹配用户输入的字符串。这里是一个基本的示例:
```java
import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PatternMatchingApp {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一行字符串:");
String input = scanner.nextLine();
// 定义模式正则表达式
String pattern1 = "[24680]";
String pattern2 = "[13579]{2}";
Pattern regex1 = Pattern.compile(pattern1);
Pattern regex2 = Pattern.compile(pattern2);
// 查找第一个模式
Matcher matcher1 = regex1.matcher(input);
while (matcher1.find()) {
System.out.println("找到的第一个匹配子串: " + matcher1.group());
}
// 查找第二个模式(包含两个连续的1-9)
Matcher matcher2 = regex2.matcher(input);
if (matcher2.find()) {
System.out.println("找到的第二个匹配子串: " + matcher2.group());
} else {
System.out.println("未找到符合条件的第二个子串");
}
scanner.close();
}
}
```
在这个程序中,我们首先让用户输入一个字符串,然后分别查找两个模式。`Pattern.compile()`用于编译正则表达式,`Matcher.find()`用来查找匹配的部分。如果找到匹配项,`group()`会返回找到的子字符串。
运行这个程序,你会看到与给定模式匹配的所有子串,如果没有匹配,则会相应地给出提示。
阅读全文