菜鳥先飛之JAVA 正規表示式

2021-08-05 20:12:28 字數 2382 閱讀 1149

正規表示式的概述

是指乙個用來描述或者匹配一系列符合某個語法規則的字串的單個字串。其實就是一種規則。

字元

x 字元 x

\\ 反斜線字元

\0n 帶有八進位制值 0 的字元 n (0 <= n <= 7)

\0nn 帶有八進位制值 0 的字元 nn (0 <= n <= 7)

\0mnn 帶有八進位制值 0 的字元 mnn(0 <= m <= 3、0 <= n <= 7)

\xhh 帶有十六進製制值 0x 的字元 hh

\uhhhh 帶有十六進製制值 0x 的字元 hhhh

\t 製表符 ('\u0009')

\n 新行(換行)符 ('\u000a')

\r 回車符 ('\u000d')

\f 換頁符 ('\u000c')

\a 報警 (bell) 符 ('\u0007')

\e 轉義符 ('\u001b')

\cx 對應於 x 的控制符

字元類

[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]] a 到 z,除了 b 和 c:[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]

greedy 數量詞

x? x,一次或一次也沒有

x* x,零次或多次

x+ x,一次或多次

x x,恰好 n 次

x x,至少 n 次

x x,至少 n 次,但是不超過 m 次

匹配 public boolean matches(string regex)告知此字串是否匹配給定的正規表示式。

例:string regex = "[abc]";

system.out.println("abcba".matches(regex));

切割 public string split(string regex)根據給定正規表示式的匹配拆分此字串。

例:string s = "qqq.www.eee";

string arr = s.split("\\.");

替換 public string replaceall(string regex,string replacement)使用給定的 replacement 替換此字串所有匹配給定的正規表示式的子字串。

例:string s = "q1a2q3";

string regex = "\\d"; //\\d代表的是任意數字

string s2 = s.replaceall(regex, "-");

分組 正規表示式的分組功能,捕獲組可以通過從左到右計算其開括號來編號。

例:string s = "qqqqqaaaaawwwwww";

string s3 = s2.replaceall("(.)\\1+", "$1"); //$1代表第一組中的內容

獲取 將正則規則進行物件封裝。

pattern p = pattern.compile("a*b");

通過正則物件的matcher方法字串關聯,獲取要對字串操作的匹配器物件matcher。

matcher m = p.matcher("aaaaaaab");

通過matcher匹配器物件的方法對字串進行操作。

boolean b = m.matches();

例:pattern p = pattern.compile("a*b"); //獲取到正規表示式

matcher m = p.matcher("aaaaab"); //獲取匹配器

boolean b = m.matches(); //看是否能匹配,匹配就返回true

system.out.println(b);

system.out.println("aaaaab".matches("a*b")); //與上面的結果一樣

public boolean find()嘗試查詢與該模式匹配的輸入序列的下乙個子串行。

public string group()返回由以前匹配操作所匹配的輸入子串行。

java之正規表示式

前言 乙個正規表示式是含有一些具有特殊意義的字串,這些字串稱作正規表示式的元字元。利用正規表示式可以從字串中選出符合自己需要的字串,並操作。元字元 元字元在正規表示式中的寫法意義.代表任何乙個字元 d d 代表0 9的任何乙個數字 d d 代表任何乙個非數字字元 s s 代表空格類字元,t n x0...

菜鳥先飛之JAVA 方法

提高 的復用性 完成特定功能的 塊。修飾符 返回值型別 方法名 引數型別 引數名1,引數型別 引數名2.方法體語句 return返回值 修飾符 目前就用 public static。後面我們再詳細的講解其他的修飾符。返回值型別 就是功能結果的資料型別。方法名 符合命名規則即可。方便我們的呼叫。引數 ...

Java正規表示式

正規表示式結構簡介 字元 x 字元 x 反斜槓 0n 十進位制數 0 n 7 0nn 十進位制數 0nn 0 n 7 0mnn 十進位制數 0mnn 0 m 3,0 n 7 xhh 十六進製制數 0xhh uhhhh 十六進製制數 0xhhhh t 製表符 u0009 n 換行符 u000a r 回...