日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

黑马程序员——Java正则表达式

發(fā)布時(shí)間:2025/6/17 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑马程序员——Java正则表达式 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
正則表達(dá)式 兩類:Pattern模式類和Matcher匹配類 ? ? ? ? ? ? ? ?Pattern主要是用來(lái)編譯模型和生成匹配器matcher; 正則表達(dá)式基本方法 ? ?????????????//定義一個(gè)pattern,該pattern就是個(gè)f空兩個(gè)k的模式 ??????????Pattern p?=Pattern?.compile("f(.+?)(.+?)(.+?)k"?); ???????????//按照p的模式匹配字符串 ??????????Matcher m?=?p?.matcher?("qqfucogffAkfkkkkkf15fkjjfqfi")?; ???????????while(m?.find?()){ ????????????????????//無(wú)參group表示返回匹配到的子串 ???????????????????String s1?=m?.group?(); ????????????????????//表示第幾個(gè)括號(hào)的值,有幾括號(hào)就有幾個(gè)組~ ???????????????????String s2?=m?.group?(3)?; ????????????????????//end表示找到的該子串的結(jié)尾的之后索引值 ???????????????????System?.out.println(?s1+?">>>"+s2?+"||"?+m?.end?()); /*????????????????fucogffAk>>>ogffA||11 ????????????????????fkkkk>>>k||16 ???????????????????f15fk>>>f||22 */ ? 匹配日期,電話號(hào)碼,身份證格式,郵箱網(wǎng)站等等 ? ? ? ? ???//20世紀(jì)20年代 ??????????Pattern p2?=Pattern?.compile("(19)(2[0-9])"?); ??????????Matcher m2?=p2?.matcher?("192152519204201911924-5")?; ???????????while(m2?.find?()){ ???????????????????System?.out.println(?m2.?group()); ???????????} /*??????1921 ??????????1920 ??????????1924*/ 篩選日期 ? ? ? ? ? Pattern p4?=?Pattern?.compile?("(20)\\d\\d([- /.])(0[1-9]|1[012])\\2(0[1-9]|[12][0-9]|3[01])")?; ??????????Matcher m4?=?p4?.matcher?(?"2010-01-01 2007/08/13 1900.01.01 2009 01 01 1900-01.01 2000 02 31 1900 02 31")?; ???????????while?(?m4.?find?())?{ ???????????????????System?.?out.?println(?m4.?group?()); ???????????} /*??????2010-01-01 ??????????2007/08/13 ??????????2009 01 01 ??????????2000 02 31*/ 我國(guó)合法電話號(hào)碼 ? ? ? ? ? Pattern p3?=Pattern?.compile("(\\d{3}-\\d{8}|\\d{4}-\\d{7})"?); ??????????Matcher m3?=p3?.matcher?("021-55454445,41sbhfbh0755-6854555"); ???????????while(m3?.find?()){ ???????????????????System?.out.println(?m3.?group()); ???????????} /*??????021-55454445 ??????????0755-6854555*/ 將字符串中符合正則表達(dá)式的字串全部替換掉 ? ? ? ? ? String string?="qqfucogffAkfkkkkkf15fkjjfqfi"?; ??????????String str?=string?.replaceAll?("f(.+?)(.+?)(.+?)k",?"hello")?; ??????????System?.out.println(?string);????????? ??????????System?.out.println(?str); /*??????qqfucogffAkfkkkkkf15fkjjfqfi ? ? ? ? ? ?qqhellohellokhellojjfqfi*/ 正確書(shū)寫(xiě)正則表達(dá)式 預(yù)定義字符類 . 任何字符 \\d 數(shù)字:[0-9] \\D 非數(shù)字: [^0-9] \\s 空白字符:[ \t\n\x0B\f\r] \\S 非空白字符:[^\s] \\w 單詞字符:[a-zA-Z_0-9] \\W 非單詞字符:[^\w] 字符 \0n 帶有八進(jìn)制值 0 的字符 n (0 <= n <= 7) \0nn 帶有八進(jìn)制值 0 的字符 nn (0 <= n <= 7) \0mnn 帶有八進(jìn)制值 0 的字符 mnn(0 <= m <= 3、0 <= n <= 7) \xhh 帶有十六進(jìn)制值 0x 的字符 hh \uhhhh 帶有十六進(jìn)制值 0x 的字符 hhhh \t 制表符 ('\u0009') \n 新行(換行)符 ('\u000A') \r 回車符 ('\u000D') \f 換頁(yè)符 ('\u000C') \a 報(bào)警 (bell) 符 ('\u0007') \e 轉(zhuǎn)義符 ('\u001B') \cx 對(duì)應(yīng)于 x 的控制符

轉(zhuǎn)載于:https://www.cnblogs.com/shuawang/p/3734778.html

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的黑马程序员——Java正则表达式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。