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
,.
和*
正则表达式修饰符的更多信息?
提前致谢
答案 0 :(得分:1)
以下是这些符号的含义。
.
代表除换行符之外的任何字符。如果与s
标志一起使用,那么它也会与换行符匹配。
*
是量词,表示zero or many
。
.*
会说zero or many characters
。
您可以在
上阅读更多相关信息