Java 正则表达式排除特定字符串常量


在本程序中,我们将使用正则表达式来检查给定字符串是否不包含子字符串 "kk" ,使用 Java。正则表达式 ^((?!kk).)*$ 旨在匹配字符串中不包含 "kk" 模式的字符串。该程序将评估一个示例字符串并打印它是否包含 "kk"

问题陈述

编写一个 Java 程序,用于检查给定字符串是否包含子字符串“kk”。如果字符串不包含“kk”,则程序将返回 true,否则返回 false。

输入

String s = "tutorials"

输出

true

排除特定字符串常量的步骤

以下是排除特定字符串常量的步骤:

  • 定义一个示例字符串,创建一个字符串变量 s 并为其赋值。
  • 使用正则表达式 进行匹配,使用 matches() 方法 检查字符串是否不包含“kk”,方法是利用正则表达式模式 ^((?!kk).)*$
  • 之后,我们将匹配操作的结果存储在布尔变量 i 中。
  • 将布尔结果打印到控制台,这将指示字符串是否包含“kk”(false)或不包含(true)。

正则表达式 ^((?!kk).)*$ 如果一行不包含 kk,则返回 true,否则返回 false

示例

public class RegTest {
   public static void main(String[] args) {
      // TODO Auto-generated method stub
      String s="tutorials";
      boolean i=s.matches("^((?!kk).)*$");
      System.out.println(i);
   }
}

代码解释

上面的程序首先定义一个字符串 s ,其值为 "tutorials" 。然后它检查此字符串是否匹配正则表达式 ^((?!kk).)*$ ,如果字符串中不存在 "kk" ,则返回 true。matches() 方法用于执行正则表达式检查,结果存储在布尔变量 i 中。最后,结果打印到控制台。由于字符串 "tutorials" 不包含 "kk" ,因此输出将为 true。

更新于: 2024年9月29日

1K+ 次查看

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告