天才教育網(wǎng)合作機構 > 培訓機構 >

                                                                                        佛山中公財經(jīng)

                                                                                        歡迎您!
                                                                                        朋友圈

                                                                                        13140882082

                                                                                        全國統一學(xué)習專(zhuān)線(xiàn) 9:00-21:00

                                                                                        位置:培訓資訊 > 在java中使用正則表達式

                                                                                        在java中使用正則表達式

                                                                                        日期:2021-07-08 11:52:31     瀏覽:464    來(lái)源:佛山中公財經(jīng)
                                                                                        正則表達式(regular expression)一個(gè)又經(jīng)典又實(shí)用又陌生的東西。說(shuō)他經(jīng)典因為"正則表達式"在1956年就有了,說(shuō)他實(shí)用是因為各種語(yǔ)言里都有它的身影,說(shuō)他陌生是因為使用的人不很多。   今天遇到了,不妨就了解一下吧。反正有益無(wú)害,絕對是綠色產(chǎn)品。正則表達式主要應用于文本的處理,如檢索,替換,檢查錯誤,文字拆分...實(shí)在是一言難盡,如果要全部寫(xiě)出來(lái),一本書(shū)都不差不多。還好oreilly已經(jīng)為我們出了一本了。   講具體內容以前先給個(gè)完整的例子,這樣能有個(gè)感性的認識。 import java.util.regex.*; public class Regex{    public static void main(String[] args){         String text = "my email address is xhinker@163.com";
                                                                                                Pattern pattern = Pattern.compile("\w+@\w+.\w+");
                                                                                                Matcher matcher = pattern.matcher(text);
                                                                                                if(matcher.find()){
                                                                                                    System.out.println(matcher.group());
                                                                                                }      } } 把這段程序用jdk或jcreator或水膩的便了。反正運行起來(lái)就是了輸出結果:xhinker@163.com 當你看完下面的東西回頭再看看這段程序就會(huì )發(fā)現,這不過(guò)是小菜一碟   字符和字符類(lèi)

                                                                                        表格 A: 字符匹配

                                                                                        操作

                                                                                        解釋

                                                                                        例子

                                                                                        結果

                                                                                        .

                                                                                        單個(gè)字符匹配

                                                                                           .ord

                                                                                        匹配 “ford”, “l(fā)ord”, “2ord”,

                                                                                        [ ]

                                                                                        多個(gè)字符列表

                                                                                           [cng]

                                                                                        只會(huì )匹配 “cord”, “nord”, 和 “gord”

                                                                                        [^ ]

                                                                                        不出現字符列表

                                                                                           [^cn]

                                                                                        匹配 “l(fā)ord”, “2ord”, 等. 但不會(huì )匹配 “cord” or “nord”

                                                                                          [a-zA-Z]

                                                                                        匹配 “aord”, “bord”, “Aord”, “Bord”等

                                                                                           [^0-9]

                                                                                        匹配 “Aord”, “aord”, 等. 但不會(huì )匹配“2ord”, 等.

                                                                                         

                                                                                        表格 B: 重復操作符

                                                                                        操作

                                                                                        解釋

                                                                                        例子

                                                                                        結果

                                                                                        ?

                                                                                        匹配0次或1次

                                                                                         “?erd”

                                                                                        匹配 “berd”, “herd”“erd”等

                                                                                        *

                                                                                        匹配0次以上

                                                                                        “n*rd”

                                                                                        匹配 “nerd”, “nrd”, “neard”, 等.

                                                                                        +

                                                                                        匹配1次以上

                                                                                        “[n]+erd”

                                                                                        匹配 “nerd”, “nnerd”, 等., 但不匹配 “erd”

                                                                                        {n}

                                                                                        匹配n次

                                                                                        “[a-z]{2}erd”

                                                                                        匹配“cherd”, “blerd”, 等. 但不匹配 “nerd”, “erd”, “buzzerd”, 等.

                                                                                        {n,}

                                                                                        匹配n次以上

                                                                                        “.{2,}erd”

                                                                                        匹配 “cherd” and “buzzerd”, but not “nerd”

                                                                                        {n,N}

                                                                                        匹配n-N次

                                                                                         “n[e]{1,2}rd”

                                                                                        匹配 “nerd” and “neerd”等

                                                                                          常用符號: d:[0-9] D:[^0-9] w:[a-zA-Z0-9] W:[^a-zA-Z0-9]   {?i):大小寫(xiě)無(wú)關(guān)   和B分別表示詞邊界和非詞邊界當然上面這些只不過(guò)是最常用的,寫(xiě)出幾個(gè)正則表達式是沒(méi)有問(wèn)題了。接下來(lái)說(shuō)說(shuō)java。在java里有其自身的意義,所以在用s,d的時(shí)候要加上一個(gè)也就是\s 、\d \(等 java自1.4后開(kāi)始支持正則表達式,東西都放在java.util.regex包里,用Pattern生成一個(gè)模式對象,然后用matcher進(jìn)行匹配。如果要輸出匹配結果的話(huà),一定要記得寫(xiě)上matcher.find();否則會(huì )出錯。當然也可以用替換,這就要看你的喜好拉。想看更多的例子就去jdk幫助文檔。   想了解更多或者掌握正則表達式的話(huà),google去吧,那里是知識的海洋。

                                                                                        本文由 佛山中公財經(jīng) 整理發(fā)布。更多培訓課程,學(xué)習資訊,課程優(yōu)惠,課程開(kāi)班,學(xué)校地址等學(xué)校信息,可以留下你的聯(lián)系方式,讓課程老師跟你詳細解答:
                                                                                        咨詢(xún)電話(huà):13140882082

                                                                                        如果本頁(yè)不是您要找的課程,您也可以百度查找一下:

                                                                                        奇米在线7777在线精品|国产成人精品免费视|精品无码不卡一区二区三区|国内综合精品午夜久久资源|亚洲视频在线观看..