正規表示式及例子,很實用的東西

2021-09-19 18:45:30 字數 1532 閱讀 2234

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

,有自己特殊的應用;

作用:比如註冊郵箱

,郵箱有賬號和密碼

,一般會對其限制長度

,這個限制長度的事情

,就是正規表示式做的

例:檢驗qq號碼:

*1.要求必須是5-15位的數字

*2.要求不能以0開頭

*3.要求全是數字組成

方法一:使用非正規表示式完成

publicclassdemo18elseelseelse";//[1-9]表示第一位,\\d表示0-9的字 符,表示0-9出現的次數為4-14次

system.out.print("12312312".matches(regex));//"12312312".matches(reg ex)檢測是否匹配規則,並返回比爾型別的值

字元類

[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,一次或多次

xx,恰好 n 次

xx,至少 n 次

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

例:public class demo_splitelse";

pattern p = pattern.compile(regex);

matcher m=p.matcher(str);

while(m.find())

system.out.println(m.group());

實用正規表示式

匹配中文字元的正規表示式 u4e00 u9fa5 評注 匹配中文還真是個頭疼的事,有了這個表示式就好辦了 匹配雙位元組字元 包括漢字在內 x00 xff 評注 可以用來計算字串的長度 乙個雙位元組字元長度計2,ascii字元計1 匹配空白行的正規表示式 n s r 評注 可以用來刪除空白行 匹配ht...

正規表示式例子

前言 regular expressions 正規表示式,以下用re稱呼 對小弟來說一直都是神密的地帶,看到一些網路上的大大,簡單用re就決解了某些文字的問題,小弟便興起了學一學re的想法,但小弟天生就比較懶一些,總希望看有沒有些快速學習的方式,於是小弟又請出google大神,借由祂的神力,小弟在網...

正規表示式例子

include regex.hpp include include include include inttest regex match d d d fixed telephone std regex re pattern std vector str std regex match 判斷乙個正規...