Java Case不敏感方法细分和解释

时间:2016-03-17 19:30:54

标签: java regex string syntax case-insensitive

public class StringMatchesCaseInsensitive
{
   public static void main(String[] args)
   {
      String stringToSearch = "Four score and seven years ago our fathers ...";

      // this won't work because the pattern is in upper-case
      System.out.println("Try 1: " + stringToSearch.matches(".*SEVEN.*"));

      // the magic (?i:X) syntax makes this search case-insensitive, so it returns true
      System.out.println("Try 2: " + stringToSearch.matches("(?i:.*SEVEN.*)"));
   }
}

上面的代码块就是这样;不区分大小写搜索的示例。但我最感兴趣的是:"?i:.*SEVEN.*";

我知道?:.是不区分大小写的语法。但是封装.*的{​​{1}}呢?它有什么作用?

在哪里可以阅读有关SEVEN.*正则表达式修饰符的更多信息?

提前致谢

1 个答案:

答案 0 :(得分:1)

以下是这些符号的含义。

  • .代表除换行符之外的任何字符。如果与s标志一起使用,那么它也会与换行符匹配。

  • *是量词,表示zero or many

  • .*会说zero or many characters

您可以在

上阅读更多相关信息