2016-03-17 35 views
-3
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.*";Java不區分大小寫的方法細分和解釋

我知道?:.是不區分大小寫的語法。但.*封裝SEVEN呢?它有什麼作用?

我在哪裏可以閱讀有關.,*.*正則表達式修飾符的更多信息?

在此先感謝

回答

1

以下是這些符號代表的內容。

  • .代表除換行符之外的任何字符。如果與s標誌一起使用,則它也與新行匹配。

  • *是說zero or many量詞。

  • .*將會說zero or many characters

你可以閱讀更多關於他們