對於正規表示式的應用總結

2021-09-01 15:40:30 字數 920 閱讀 9158

最近做一專案  要求特定字串的替換,以前做時用的是split() 分割,然後迴圈 加上的,但是後來發現這樣對資料的要求度比較高,不能存在 分割字元,所以才用了正則,案例如下:

string str1="1973.07--1977.09  某@某省某$某縣某某鎮%小學#教師。1977.09--1979.09  某某省&某某縣某某&鎮初中教師。1988.11--1993  某某省某某市委宣傳部幹事、副科級、科長(1987.09--今 在某某大學某某系某某專業學習)。";要替換此字串中的 日期格式i    為2023年07月 

matcher matcher = pattern.compile("\\d.\\d").matcher(str1); //用正則匹配日期格式 1973.08 或1973.8

stringbuffer sbr = new stringbuffer(); 

while(matcher.find())

方法替換原有的}

str1=sbr.tostring().replaceall("--","至").replaceall("<", "(").replaceall(">",")").replaceall(" ", "").replaceall(" ","").replaceall("[&$#@%]", "");

system.out.println(str1);

行了  大功告成!!! 至於正規表示式的一些規則如下:

1.匹配字串用 (str)

2.匹配次數      

3.匹配範圍      [a-z]

4.匹配情況      x|y

需要記匹配項

\b  空字元邊界

\b  非空的字元邊界

\d   數字

\d   非數字

\s   空字串

\s   非空字串

具體參考:

正規表示式 正規表示式 總結

非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...

正規表示式應用

d 非負整數 正整數 0 0 9 1 9 0 9 正整數 d 0 非正整數 負整數 0 0 9 1 9 0 9 負整數 d 整數 d 非負浮點數 正浮點數 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 正浮點數 d 非正浮點數 負浮點數 0 0 9 0 ...

正規表示式(應用)

在此頁面寫正規表示式,可以提供參考,和進行校驗 應用於前端 匹配任意長度的大小寫字母與數字 a za z0 9 匹配任意長度且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字 a za z0 9 匹配長度小於20且不為空的大小寫字母與數字與漢字 a za z0...