javaRegex學習記錄

來源:互聯網
上載者:User

標籤:java   Regex   

javaRegex學習記錄

 

 Regex(regular expressions)是一種描述字串集的方法,它是以字串集中各字串的共有特徵為依據的。Regex可以用於搜尋、編輯或者是操作文本和資料。它超出了 Java 程式設計語言的標準文法,因此有必要去學習特定的文法來構建Regex。Regex的變化是複雜的,一旦你理解了它們是如何被構造的話,你就能解析或者構建任意的Regex了。

 

字元類

字元類

[abc]

a, b 或 c(簡單類)

[^abc]

除 a, b 或 c 之外的任一字元(取反)

[a-zA-Z]

a 到 z,或 A 到 Z,包括(範圍)

[a-d[m-p]]

a 到 d,或 m 到 p:[a-dm-p](並集)

[a-z&&[def]]

d,e 或 f(交集)

[a-z&&[^bc]]

除 b 和 c 之外的 a 到 z 字元:[ad-z](差集)

[a-z&&[^m-p]]

a 到 z,並且不包括 m 到 p:[a-lq-z](差集)

 

預定義字元類

預定義字元類

.

任何字元(匹配或者不匹配行結束符)

\d

數字字元:[0-9]

\D

非數字字元:[^0-9]

\s

空白字元:[\t\n\x0B\f\r]

\S

非空白字元:[^\s]

\w

單詞字元:[a-zA-Z_0-9]

\W

非單詞字元:[^\w]

 

詞量

量 詞 種 類

意  義

貪婪

勉強

侵佔

X?

X??

X?+

匹配 X 零次或一次

X*

X*?

X*+

匹配 X 零次或多次

X+

X+?

X++

匹配 X 一次或多次

X{n}

X{n}?

X{n}+

匹配 X n 次

X{n,}

X{n,}?

X{n,}+

匹配 X 至少 n 次

X{n,m}

X{n,m}?

X{n,m}+

匹配 X 至少 n 次,但不多於 m 次

 

邊界匹配器

^

行首

$

行尾

\b

單詞邊界

\B

非單詞邊界

\A

輸入的開頭

\G

上一個匹配的結尾

\Z

輸入的結尾,僅用於最後的結束符(如果有的話)

\z

輸入的結尾

 

樣本:使用分組去檔案的副檔名

import java.util.regex.Matcher;

import java.util.regex.Pattern;

 

publicclass Foo {

   publicstatic String testFoo(Stringsource){

      //兩個分組

      Pattern p = Pattern.compile("(\\w+).(.+)");

     

      Matcher mat = p.matcher(source);

      mat.find();

      //列印分組數

      System.out.println(mat.groupCount());

      //返回第二個分組內容

      returnmat.group(2);

   }

  

   publicstaticvoid main(String[]args) {

      System.out.println(testFoo("User3.java"));

   }

}

列印結果:

2

java

 

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

javaRegex學習記錄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.