【正則】正則表達式(0)

1.字面值匹配
	默認區分大小寫:phone -> $0=phone
	原樣匹配:\Q . ^ $ + ? | ( ) [ - ]{ } \E
	轉義:\.  [.] [\b]退格符
	匹配修飾符(?x)(pattern): g全局,i:忽略大小寫,m:多行,s:單行
	
	
2.字符集與簡寫(大寫取反)
	\d: [0-9]			\w: [_a-zA-Z0-9]		\s: [ \t\n\r]	
	
	
3.數量詞
	?: 0或1個			{m,n}: m-n個
	*: 0或多個			+: 1或多個
	
	
4.斷言邊界
	^...$: 一行開始和結束
	\b: 零寬度單詞邊界
	\A: 匹配文件頭
	\Z: 匹配文件尾(\n之前)
	\z: 匹配文件尾(EOF)
	
5.子模式
	(t|T)h(eir|ere|e): $0=their; $1=t ; $2=eir $2依賴$1
	
	
6.分組
	捕獲分組(pattern):\u\l(\U\L)使其後緊跟的串首字(全部)轉大小寫
		直接引用(...)(...):$1 $2
		命名引用(?<name>...):\k<name>或\g{one}
	非捕獲分組(?:pattern)或者(?修飾符:pattern),因爲不保存分組,可以提高速度
	原子分組(?>pattern),不捕獲且不回溯,提高性能
	
	
7.字符集
	0-99的偶數:(?>\b[02468]\b)|(?>\b[123456789][02468]\b)
	集取反:(?i)[^aeiou] ,特別的,在Java中可以對字符集進行像集合一樣的計算
	
	
8.匹配Unicode
	\u00e9或\x{00e9}     --十六進制
	\u351或\351          --八進制
	\cX控制符(x值有表)		
	\p{x}unicode屬性(x值有表)
	
	
9.量詞
貪心:儘可能匹配更多的內容(失敗就回溯)								{m,n}默認貪心n個
懶惰:從左到右只要匹配成功,馬上停止									5*?,匹配0個5,即量詞後加?號
佔有:只匹配一次(一次嘗試匹配所有內容,所有內容儘量多,但不會回溯)		{m,n}+,先嚐試n個


10.環視
前瞻:a(?=b)		找到所有後面跟b的a			--	a(?!b)
後顧:(?<=a)b		找到所有前面有a的b			--	(a<!a)b




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章