JDK6筆記(3)—-正規表示式
JDK6筆記(3)—-正規表示式
一、正規表示式的編譯形式
1)指定為字串的正規表示式必須首先被編譯為此類的例項。compile
2)將得到的模式用於建立Matcher物件。matcher
3)依照正規表示式,該物件可以於任意字元序列匹配。matches
例:
Pattern p=Pattern.compile(“a*b”);
Matcher m=P.matcher(“aaaaab”);
boolean b=m.matches();
二、規則
1)字元類
. 表示任何字元
[abc] 包含a、b、c的任何字元 (和a|b|c相同)
[^abc] 除a、b、c之外的任何字元 (否定)
[a-zA-Z] 任何從a到z或從A到Z的字元 (範圍)
[abc[hij]] 任意a、b、c、h、i、j字元 (與a|b|c|h|i|j相同)(合併)
[a-z&&[hij]] 任意h、i、j字元 (交)
/s whitespace符 (空格、tab、換行、換頁、回車)
/S 非whitespace符 ([^/s])
/d 數字[0-9]
/D 非數字[^0-9]
/w word character ([a-zA-Z_[0-9])
/W 非word character (^/w)
2)在Java中,“//”意味著正在插入一個正規表示式的反斜槓,隨後的字元具有特殊意義。
XY XY
X|Y X或Y
(X) Capturing group
3)邊界匹配
^ 一行的開始
$ 一行的結束
/b 詞界
/B 非詞界
/G 上一級的結尾
4)量詞
? 0或1個
* 0或多個
+ 1或多個
X{n} X,恰好n次
X{n,} X,至少n次
X{n,m} X,至少n次,至多m次
三、字元序列
CharSequence介面,從String到StringBuffer類中抽象出。
interface CharSequence{
charAt(int i); //返回指定索引處的char值
length(); //返回長度
subSequence(int start,int end); //返回從索引start開始,end結束的子序列
toString(); //返回字串
}
四、在Java中,正規表示式是通過java.util.regex包裡面的Pattern和Matcher類來實現的。
1)Matcher.find()用於發現應用於CharSequence的多重模式匹配。
2)find(int start) 重置此匹配器,然後嘗試查詢匹配該模式、從指定索引開始的輸入序列的下一個子序列。
例:
package myfile;
import java.util.regex.*;
import java.util.*;
public class FindDemo {
private static String str=”boolean contains(CharSequence s) new Test()”;
public static void main(String[] args) {
Matcher m=Pattern.compile(“//w+”).matcher(“Evening is full of the linnet`s wings”);
while(m.find())
System.out.println(m.group());
int i=0;
while(m.find(i)){
i++;
System.out.print(m.group()+” “);
}
System.out.println(“/n”+”i=”+i);
}
}
相關文章
- JDK6筆記(4)—-正規表示式2JDK筆記
- 正規表示式(筆記)筆記
- 正規表示式速查筆記筆記
- 正規表示式筆記(四)筆記
- 正規表示式筆記(三)筆記
- 正規表示式筆記(二)筆記
- 正規表示式筆記(一)筆記
- 正規表示式學習筆記筆記
- JS筆記(15): 正規表示式JS筆記
- 7,正規表示式(perl筆記)筆記
- JavaScript正規表示式迷你書-筆記JavaScript筆記
- Ruby學習筆記-正規表示式筆記
- 正規表示式學習筆記一筆記
- python筆記(2) 正規表示式Python筆記
- PERL學習筆記---正規表示式筆記
- 正規表示式學習筆記 (轉)筆記
- JavaScript正規表示式學習筆記(一)JavaScript筆記
- Python學習筆記 - 正規表示式Python筆記
- 最容易理解的正規表示式筆記筆記
- apache url rewrite及正規表示式筆記Apache筆記
- Python筆記五之正規表示式Python筆記
- 正規表示式學習筆記(1)-認識正則筆記
- js加固之正規表示式學習筆記JS筆記
- 學習筆記-5.1.正規表示式1筆記
- Python下正規表示式學習筆記Python筆記
- JS助記 ----- 正規表示式JS
- python 中的正規表示式學習筆記Python筆記
- Python 正規表示式 re 模組簡明筆記Python筆記
- Kotlin學習筆記(五十八)正規表示式Kotlin筆記
- PERL學習筆記---正規表示式的應用筆記
- Ruby筆記《一》Regexp正規表示式薦筆記
- 8,以正規表示式進行匹配(perl筆記)筆記
- 工作學習筆記(二) 正規表示式(轉載)筆記
- 正規表示式(python3)Python
- 深入正規表示式(3):正規表示式工作引擎流程分析與原理釋義
- Golang正則筆記 :使用正規表示式處理題庫文字Golang筆記
- 正規表示式
- 【記錄】正規表示式入門