国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Java深入 - Java的正則表達式 Pattern和Matcher

baiy / 751人閱讀

摘要:它包括兩個類和一個是一個正則表達式經編譯后的表現模式。這個標志能讓表達式忽略大小寫進行匹配。默認情況下,這兩個表達式僅僅匹配字符串的開始和結束。返回當前查找而獲得的與指定的組匹配的子串內容

Pattern和Matcher
Java.util.regex 是一個用正則表達式所訂制的模式來對字符串進行匹配工作的類庫包。它包括兩個類:Pattern和Matcher
Pattern: 一個Pattern是一個正則表達式經編譯后的表現模式。
Matcher: 一個Matcher對象是一個狀態機器,它依據Pattern對象做為匹配模式對字符串展開匹配檢查。

Pattern類
常用方法:
static Pattern compile(String regex) 將給定的正則表達式編譯并賦予給Pattern類
static Pattern compile(String regex, int flags) flag參數的指定,可選的flag參數包括:CASE INSENSITIVE,MULTILINE,DOTALL,UNICODE CASE, CANON E
int flags() 返回當前Pattern的匹配flag參數.
[java] view plain copy print?在CODE上查看代碼片派生到我的代碼片
Pattern.CANON_EQ,當且僅當兩個字符的"正規分解(canonical decomposition)"都完全相同的情況下,才認定匹配。

Pattern.CASE_INSENSITIVE(?i) 默認情況下,大小寫不敏感的匹配只適用于US-ASCII字符集。這個標志能讓表達式忽略大小寫進行匹配。

Pattern.COMMENTS(?x)在這種模式下,匹配時會忽略(正則表達式里的)空格字符(不是指表達式里的"s",而是指表達式里的空格,tab,回車之類)。

Pattern.DOTALL(?s)在這種模式下,表達式"."可以匹配任意字符,包括表示一行的結束符。 默認情況下,表達式"."不匹配行的結束符。

Pattern.MULTILINE(?m)在這種模式下,"^"和"$"分別匹配一行的開始和結束。
此外,"^"仍然匹配字符串的開始,"$"也匹配字符串的結束。默認情況下,這兩個表達式僅僅匹配字符串的開始和結束。

Pattern.UNICODE_CASE(?u)在這個模式下,如果你還啟用了CASE_INSENSITIVE標志,
那么它會對Unicode字符進行大小寫不明感的匹配。默認情況下,大小寫不敏感的匹配只適用于US-ASCII字符集。

Pattern.UNIX_LINES(?d)在這個模式下,只有"n"才被認作一行的中止,并且與".","^",以及"$"進行匹配。

Matcher matcher(CharSequence input) 生成一個給定命名的Matcher對象
[java] view plain copy print?在CODE上查看代碼片派生到我的代碼片
Pattern p = Pattern.compile("《(.*)》");
Matcher m = p.matcher("《測試》匹配書名號中間的內容");
while (m.find()) {

System.out.println(m.group(1));  

}

static boolean matches(String regex, CharSequence input)
String[] split(CharSequence input) 將目標字符串按照Pattern里所包含的正則表達式為模進行分割。
String[] split(CharSequence input, int limit) 作用同上,增加參數limit目的在于要指定分割的段數
[java] view plain copy print?在CODE上查看代碼片派生到我的代碼片
Pattern p = Pattern.compile("|");
String[] arr = p.split("woshishen|sadsadsa");
System.out.println(arr[0] + "----" + arr[1]);

Matcher類
Matcher appendReplacement(StringBuffer sb, String replacement) 將當前匹配子串替換為指定字符串,并且將替換后的子串以及其之前到上次匹配子串之后的字符串段添加到一個StringBuffer對象里。
StringBuffer appendTail(StringBuffer sb) 將最后一次匹配工作后剩余的字符串添加到一個StringBuffer對象里。
int end() 返回當前匹配的子串的最后一個字符在原目標字符串中的索引位置 。
int end(int group) 返回與匹配模式里指定的組相匹配的子串最后一個字符的位置。
boolean find() 嘗試在目標字符串里查找下一個匹配子串。
boolean find(int start) 重設Matcher對象,并且嘗試在目標字符串里從指定的位置開始查找下一個匹配的子串。
String group() 返回當前查找而獲得的與組匹配的所有子串內容
String group(int group) 返回當前查找而獲得的與指定的組匹配的子串內容
int groupCount() 返回當前查找所獲得的匹配組的數量。
boolean lookingAt() 檢測目標字符串是否以匹配的子串起始。
boolean matches() 嘗試對整個目標字符展開匹配檢測,也就是只有整個目標字符串完全匹配時才返回真值。
Pattern pattern() 返回該Matcher對象的現有匹配模式,也就是對應的Pattern 對象。
String replaceAll(String replacement) 將目標字符串里與既有模式相匹配的子串全部替換為指定的字符串。
String replaceFirst(String replacement) 將目標字符串里第一個與既有模式相匹配的子串替換為指定的字符串。
Matcher reset() 重設該Matcher對象。
Matcher reset(CharSequence input) 重設該Matcher對象并且指定一個新的目標字符串。
int start() 返回當前查找所獲子串的開始字符在原目標字符串中的位置。
int start(int group) 返回當前查找所獲得的和指定組匹配的子串的第一個字符在原目標字符串中的位置。

[java] view plain copy print?在CODE上查看代碼片派生到我的代碼片
Pattern p = Pattern.compile("(第(.+)部)");
Matcher m = p.matcher("大宋提刑官 第1");
while (m.find()) {

System.out.println(m.start()); //返回當前查找所獲子串的開始字符在原目標字符串中的位置。  
System.out.println(m.end()); //返回與匹配模式里指定的組相匹配的子串最后一個字符的位置。  
System.out.println(m.group(2)); //返回當前查找而獲得的與指定的組匹配的子串內容   

}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/66921.html

相關文章

  • 正則達式 深入淺出2--從java API開始

    摘要:正則表達式等待匹配的字符這里可以輸入任何繼承了的類返回一個值說明是否匹配這里需要注意的是,和均不允許通過構造器新建一個對象。 前言 之前一直想要做一個自己的爬蟲,然后從nba數據相關的網上【虎撲,騰訊,官網等,要視網站是否支持】爬點數據寫數據分析和圖形化展示。雖然年輕的時候就實現過這個功能,但是當時直接借用了一個網上現成的jar包,然后在那個基礎上寫了一個非常簡陋的正則表達式來提取數據...

    andycall 評論0 收藏0
  • java正則表式使用

    摘要:直接使用正則表達式對輸入的字符串進行匹配,匹配成功則返回使用正則表示式,進行字符串分割進行匹配操作,如果匹配成功,這三個方法都會返回其中,是在源字符串中找出和正則表達式匹配的字符串。 概念 正則表達式 在閱讀本文前,你應該已經了解了正則表達式的基本概念以及如何書寫正則表達式。如果對正則表達式不是太了解,或者想更深入地了解正則表示式,請點擊這里。 捕獲組 捕獲組能夠讓我們方便地從正則表達...

    zoomdong 評論0 收藏0
  • Java 正則達式

    摘要:正則表達式是一個強大的字符串處理工具,可以對字符串進行查找提取分隔替換等操作。例如,正則表達式用于匹配的三個訪問控制符其中之一邊界匹配符數量標識符貪婪模式數量表示符默認采用貪婪模式。方法以空格為分隔符,將字符串分割成多個子串哈哈 正則表達式是一個強大的字符串處理工具,可以對字符串進行查找、提取、分隔、替換等操作。String類里提供了如下幾個特殊方法 boolean matches(...

    forrest23 評論0 收藏0
  • Java編程思想》筆記13.字符串

    摘要:的構造器經過重載可以接受多種輸出目的地,不過最常用的還是和。組號為表示整個表達式,組號表示被第一對括號括起的組,依此類推。有多個重載的構造器,可以接受和對象。 點擊進入我的博客 字符串操作是計算機程序設計中最常見的行為 13.1 不可變String String底層是由char[]實現的,是不可變的。看起來會改變String的方法,實際上都是創建了一個新的String對象,任何指向它...

    since1986 評論0 收藏0
  • Java 正則達式

    摘要:正則表達式是從字符串最頭部開始匹配,一直到結束,需要匹配整個串匹配的時候返回包含正則匹配的串為找到所有匹配的串代表整個表達式星座運勢匹配創建對象現在創建對象星座運勢星座運勢參考資料 Java 正則表達式 java.util.regex.Pattern java.util.regex.Matcher Match match 是從字符串最頭部開始匹配,一直到結束,需要匹配整個串 Strin...

    zebrayoung 評論0 收藏0

發表評論

0條評論

baiy

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<