0
点赞
收藏
分享

微信扫一扫

java正则同时已A开头已B结尾

素的盐 2024-11-10 阅读 20

在Java中使用正则表达式来匹配以字母“A”开头并且以字母“B”结尾的字符串,可以使用以下正则表达式:

String regex = "^A.*B$";

这里解释一下这个正则表达式的各个部分:

  • ^ 表示字符串的开始。
  • A 匹配字符串的第一个字符,要求它必须是大写的“A”。
  • .* 表示任意数量(包括零个)的任意字符。这里的点.代表任意一个字符,星号*表示前面的元素可以重复任意次(包括0次)。
  • B 匹配字符串的最后一个字符,要求它必须是大写的“B”。
  • $ 表示字符串的结束。

下面是一个简单的Java代码示例,演示如何使用这个正则表达式来检查一个字符串是否符合上述条件:

public class Main {
    public static void main(String[] args) {
        String pattern = "^A.*B$";
        
        // 测试字符串
        String test1 = "AhelloB"; // 符合条件
        String test2 = "BhelloA"; // 不符合条件
        String test3 = "AhelloWorldB"; // 符合条件
        String test4 = "A"; // 不符合条件
        String test5 = "B"; // 不符合条件
        String test6 = "AB"; // 符合条件
        
        // 创建Pattern对象
        java.util.regex.Pattern r = java.util.regex.Pattern.compile(pattern);
        
        // 创建Matcher对象
        java.util.regex.Matcher m1 = r.matcher(test1);
        java.util.regex.Matcher m2 = r.matcher(test2);
        java.util.regex.Matcher m3 = r.matcher(test3);
        java.util.regex.Matcher m4 = r.matcher(test4);
        java.util.regex.Matcher m5 = r.matcher(test5);
        java.util.regex.Matcher m6 = r.matcher(test6);
        
        // 检查是否匹配
        System.out.println("Test1: " + m1.matches()); // 输出: Test1: true
        System.out.println("Test2: " + m2.matches()); // 输出: Test2: false
        System.out.println("Test3: " + m3.matches()); // 输出: Test3: true
        System.out.println("Test4: " + m4.matches()); // 输出: Test4: false
        System.out.println("Test5: " + m5.matches()); // 输出: Test5: false
        System.out.println("Test6: " + m6.matches()); // 输出: Test6: true
    }
}

这段代码定义了一个正则表达式模式,并使用该模式创建了一个Pattern对象。然后,对于每个测试字符串,创建一个Matcher对象来匹配该模式,并输出匹配结果。

举报

相关推荐

0 条评论