java正規表示式

2021-09-24 10:52:34 字數 4370 閱讀 4271

參照幫助文件,在pattern類中有正規表示式的的規則定義,正規表示式中明確區分大小寫字母。我們來學習語法規則。

正規表示式的語法規則:

字元:x

含義:代表的是字元x

例如:匹配規則為"a",那麼需要匹配的字串內容就是 」a」

字元:\\

含義:代表的是反斜線字元'\'

例如:匹配規則為"\\" ,那麼需要匹配的字串內容就是 」\」

字元:\t

含義:製表符

例如:匹配規則為"\t" ,那麼對應的效果就是產生乙個製表符的空間

字元:\n

含義:換行符

字元:\r

含義:回車符

字元類:[abc]

含義:代表的是字元a、b 或 c

例如:匹配規則為"[abc]",那麼需要匹配的內容就是字元a,或者字元b,或字元c的乙個

字元類:[^abc]

含義:代表的是除了 a、b 或 c以外的任何字元

例如:匹配規則為"[^abc]",那麼需要匹配的內容就是不是字元a,或者不是字元b,或不是字元c的任意乙個字元

字元類:[a-za-z]

含義:代表的是a 到 z 或 a 到 z,兩頭的字母包括在內

例如:匹配規則為"[a-za-z]",那麼需要匹配的是乙個大寫或者小寫字母

字元類:[0-9]

含義:代表的是 0到9數字,兩頭的數字包括在內

例如:匹配規則為"[0-9]",那麼需要匹配的是乙個數字

字元類:[a-za-z_0-9]

含義:代表的字母或者數字或者下劃線(即單詞字元)

例如:匹配規則為" [a-za-z_0-9] ",那麼需要匹配的是乙個字母或者是乙個數字或乙個下滑線

預定義字元類:.

含義:代表的是任何字元

例如:匹配規則為" . ",那麼需要匹配的是乙個任意字元。如果,就想使用 . 的話,使用匹配規則"\\."來實現

預定義字元類:\d

含義:代表的是 0到9數字,兩頭的數字包括在內,相當於[0-9]

例如:匹配規則為"\d ",那麼需要匹配的是乙個數字

預定義字元類:\w

含義:代表的字母或者數字或者下劃線(即單詞字元),相當於[a-za-z_0-9]

例如:匹配規則為"\w ",,那麼需要匹配的是乙個字母或者是乙個數字或乙個下滑線

邊界匹配器:^

含義:代表的是行的開頭

例如:匹配規則為^[abc][0-9]$,那麼需要匹配的內容從[abc]這個位置開始, 相當於左雙引號

邊界匹配器:$

含義:代表的是行的結尾

例如:匹配規則為^[abc][0-9]$,那麼需要匹配的內容以[0-9]這個結束, 相當於右雙引號

邊界匹配器:\b

含義:代表的是單詞邊界

例如:匹配規則為"\b[abc]\b",那麼代表的是字母a或b或c的左右兩邊需要的是非單詞字元([a-za-z_0-9])

數量詞:x?

含義:代表的是x出現一次或一次也沒有

例如:匹配規則為"a?",那麼需要匹配的內容是乙個字元a,或者乙個a都沒有

數量詞:x*

含義:代表的是x出現零次或多次

例如:匹配規則為"a*",那麼需要匹配的內容是多個字元a,或者乙個a都沒有

數量詞:x+

含義:代表的是x出現一次或多次

例如:匹配規則為"a+",那麼需要匹配的內容是多個字元a,或者乙個a

數量詞:x

含義:代表的是x出現恰好 n 次

例如:匹配規則為"a",那麼需要匹配的內容是5個字元a

數量詞:x

含義:代表的是x出現至少 n 次

例如:匹配規則為"a",那麼需要匹配的內容是最少有5個字元a

數量詞:x

含義:代表的是x出現至少 n 次,但是不超過 m 次

例如:匹配規則為"a",那麼需要匹配的內容是有5個字元a 到 8個字元a之間

package regexdemo;

/**正規表示式

*  

實現正則規則和字串進行匹配,使用到字串類的方法

* string

類三個和正規表示式相關的方法

*   boolean matches(string

正則的規則)

*          "abc".matches("[a]")

匹配成功返回true

*   string split(string

正則的規則)

*          "aaabac".split("a")

使用規則將字串進行切割

*   string replaceall(string

正則規則,string 字串)

*          "abc1234".replaceall("[\\d]","#")

*/public class regexdemo

/** 檢查手機號碼是否合法

* 1開頭 第二位可以是34578 共11位

*/private static void checktel() ");//表示相鄰的[\\d]有9位

system.out.println(b);}/*

* 檢查qq號碼是否合法

* 要求:不能0開頭,純數字,5-10位

* \\d 表示0-9 \\d 表示非0-9不是數字

*/public static void checkqq() ");

system.out.println(b);}}

package regexdemo;

public class regexdemo1

private static void replaceall_1()

/** 按.對字串進行切割

* 192.168.3.10

*/private static void function_3() }/*

* 按空格對字串進行切割

*/private static void function_2() ");//空格最少出現1次

for(string i : array) }/*

* string類方法split對字串進行切割

* 12-35-54-765按照-對字串進行切割

*/private static void function_1() }}

package regexdemo;

/** 檢查郵箱位址是否合法

*   規則:

*          [email protected]

*          [email protected]

*          [email protected]

*          [email protected]

*字母數字下劃線 @ 字母數字 . 字母 (.字母)

*/public class regexdemo3

}

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的字串。你可以看見如果你沒有用我們提到的兩個字元 最後乙個例子 就是說 模...