Java正規表示式

2021-09-19 19:46:18 字數 2119 閱讀 1937

沒有建構函式,使用一下方法建立物件:

pattern compile(string regex)將給定的正規表示式編譯到模式中。

pattern compile(string regex, int flags)將給定的正規表示式編譯到具有給定標誌的模式中。

一些方法:

int flags()返回此模式的匹配標誌。

matcher matcher(charsequence input)建立匹配給定輸入與此模式的匹配器。

matches(string regex, charsequence input)編譯給定正規表示式並嘗試將給定輸入與其匹配。

pattern()返回在其中編譯過此模式的正規表示式。

string split(charsequence input)圍繞此模式的匹配拆分給定輸入序列。

string split(charsequence input, int limit)圍繞此模式的匹配拆分給定輸入序列。

string tostring()返回此模式的字串表示形式。

典型的呼叫順序是 :

pattern p = pattern.compile(「a*b」);

matcher m = p.matcher(「aaaaab」);

boolean b = m.matches();

也可直接這樣呼叫,功能相同:

boolean b = pattern.matches(「a*b」, 「aaaaab」);

例:

//判斷是否滿足表示式

public

class

testmain2 b";

string input="a111b";

//建立pattern物件

pattern p = pattern.compile(regex);

//建立matcher物件

matcher matcher= p.matcher(input);

//使用matcher中的方法

boolean flag = matcher.matches();

system.out.println(flag);

}}

find()該方法掃面輸入的序列查詢與該模式匹配的下乙個子串行

group()返回找到的內容。group()group(0)表示匹配整個表示式的子字串

string group(int group)返回在以前匹配操作期間由給定組捕獲的輸入子串行。

替換(不改變原字串):

string replaceall(string replacement)替換模式與給定替換字串相匹配的輸入序列的每個子串行。

string replacefirst(string replacement)替換模式與給定替換字串匹配的輸入序列的第乙個子串行。

分割:

split(string str)按str分割(str可以為正規表示式)

(string類中的方法)

可迴圈使用find和group從而將所有滿足情況的子字串輸出:

public

class

testmain2

}}

結果:

a1ba2b

a3ba4b

a5b

可以使用split(string str)將字串分割成字元陣列,以str作為分隔符:

string  s = input.split("\\d+");

for(string temp : s)

結果: aba

bababab

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 回...

Java正規表示式

方便查詢的東西 基本語法 轉義字元 in d d d 數字0 9 多少到多少 d 非數字 0 9 非 w 單詞字元 a za z0 9 a3 w 非單詞字元 w s 空白 如 n t 0 1次 1 n次 0 n次 必須是n次 大於等於n次 n demo 中文 u0391 uffe5 英文 a za ...

Java正規表示式

舉例說明 the 開頭一定要有 the 字串 of despair 結尾一定要有 of despair 的字串 那麼,abc 就是要求以abc開頭和以abc結尾的字串,實際上是只有abc匹配。notice 匹配包含notice的字串。你可以看見如果你沒有用我們提到的兩個字元 最後乙個例子 就是說 模...